동일한 SPF 레코드에서 사용할 수 있습니까? 예를 들어:
값 TXT:v=spf1 mx a ptr ip4:46.16.60.0/23 a:cdmon.com mx:mail.solarmora.com include:srv.cat ~all
답변1
예, 해당 키워드를 모두 결합할 수 있습니다. 최대 조회 제한에 도달하지 않았는지 확인하세요.10개의 주소 기록 조회:https://www.rfc-editor.org/rfc/rfc7208#section-4.6.4
- a 및 ptr 키워드는 한 번의 조회로 이어집니다.
- ptr 키워드는 더 이상 사용되지 않으며 더 이상 사용해서는 안 됩니다.
- mx 키워드는 MX 레코드가 도메인을 반환하는 만큼 많은 조회를 발생시킵니다.
- 키워드
include
에는 참조된 SPF 레코드가 포함됩니다.
$ dig srv.cat TXT +short
"v=spf1 a a:include"
반면 a:include
도메인이 include
존재하지 않아 오류가 발생합니다.
답변2
기술적으로 모든 메커니즘을 혼합하는 것이 가능하지만 ip4
및 ip6
메커니즘 이외의 다른 메커니즘으로 인해 추가 DNS 조회가 발생하며 전체 DNS 쿼리 제한은 10개입니다(RFC 7208, 4.6.4). 모든 경우 뒤에 있는 MX 서버의 양에 따라 a
한 번의 추가 조회가 발생하고 여러 번 조회됩니다. mx
또한 include
한도까지 계산되는 체인 메커니즘이 있을 수도 있습니다.
어떤 서버가 실제로 도메인에서 이메일을 보내는지 신중하게 생각해야 합니다.봉투 보낸 사람필요한 서버만 포함하도록 SPF 레코드를 제한하세요. 귀하의 SPF 기록이 이제 통합되었으므로 귀하는 이 지식이 없는 것으로 보이며 "만일의 경우"에 모든 것을 추가하려고 시도합니다. 정책은 으로 끝나며 ~all
, 다른 모든 항목은소프트페일. 이는 남용을 효과적으로 방지하지 못합니다. 대신 을 사용해 보세요 -all
.
또한,사용하지 마세요ptr
(RFC 7208, 5.5):
참고: 이 메커니즘은 속도가 느리고 DNS 오류가 발생한 경우 다른 메커니즘만큼 안정적이지 않으며 .arpa 이름 서버에 큰 부담을 줍니다. 사용되는 경우 도메인 호스트에 대한 적절한 PTR 레코드가 있어야 하며
ptr
메커니즘은 확인된 마지막 메커니즘 중 하나여야 합니다. 수년간의 SPF 배포 경험을 통해 이는 불필요하며 대신 보다 안정적인 대안을 사용해야 한다는 결론을 내렸습니다. 그러나 이는 여전히 SPF 프로토콜의 일부로 사용 중이므로 호환check_host()
구현에서는 이를 지원해야 합니다.