튜토리얼에서 SPF에 대한 예제 레코드를 찾았지만 a 및 include 키워드는 설명되지 않았습니다. 인터넷에서 그들에 대한 정확한 정보를 찾지 못합니다.
v=spf1 mx a ptr ip4:46.16.60.0/23 a:cdmon.com include:srv.cat ~all
답변1
세그먼트별로 분석해 보겠습니다.
v=spf1
: SPF 버전 1 (v=버전)a
: 해당하는 이메일 서버(IP)에서 발생합니다.기록문제의 도메인에 있습니다.ptr
:이는 더 이상 사용되지 않으므로 사용하면 안 됩니다.- 보다https://www.rfc-editor.org/rfc/rfc7208#section-5.5ip4:46.16.60.0/23
: 지정된 CIDR 범위 내의 이메일 서버에서 발생합니다.a:cdmon.com
: 지정된 영역(cdmon.com)에 해당 A 레코드가 있는 이메일 서버(IP)에서 시작됩니다.include:srv.cat
: 지정된 영역/레코드의 SPF 레코드를 포함합니다.~all
: SPF가 통과하지 못한 경우(지정된 조건이 충족되지 않은 경우) 이메일 서버에 'softfail'을 지시합니다.
답변2
- "ㅏ"키워드: 동일한 도메인의 A 또는 AAAA 레코드인 IP 주소를 추가합니다. "a" 메커니즘에 대한 RFC도 참조하세요.https://www.rfc-editor.org/rfc/rfc7208#section-5.3
이 메커니즘은
<ip>
의 IP 주소 중 하나인 경우 일치합니다. 명확하게 말하면 이는 "a" 메커니즘이 AAAA 레코드와도 일치함을 의미합니다. - 포함하다키워드: 지정된 도메인의 SPF 레코드가 포함됩니다. 그만큼RFC는 이에 대해 말합니다.:
"포함" 메커니즘은 의 재귀 평가를 트리거합니다
check_host()
.섹션 7에 따라 확장됩니다.
check_host()는 결과 문자열을 . 및 인수는 check_host()의 현재 평가와 동일하게 유지됩니다.
재귀 평가에서는 일치, 불일치 또는 오류를 반환합니다.
일치하는 항목을 반환하면 "include" 메커니즘에 대한 적절한 결과가 사용됩니다(예: include 또는 +include는 "통과" 결과를 생성하고 -include는 "실패"를 생성합니다).
일치하지 않거나 오류가 반환되면 상위 check_host()는 아래 표에 따라 이전 값이 복원된 상태로 처리를 재개합니다.
[...]
"포함" 메커니즘을 사용하면 하나의 도메인이 관리상 독립된 여러 도메인을 지정할 수 있습니다. 예를 들어, 가상 도메인 "example.net"은 관리적으로 독립된 도메인 example.com 및 example.org의 서버를 사용하여 메일을 보낼 수 있습니다.