VPS의 이메일 서버에 SPF/DKIM/DMARC를 설정하려고 합니다. 내 DNS 구성은 다음과 같습니다(가독성을 위해 DKIM 및 DMARC가 제거됨).
@ 28800 A X.X.X.X
@ 28800 MX 10 smtp.example.com.
smtp 28800 A X.X.X.X
www 28800 A X.X.X.X
@ 28800 TXT "v=spf1 ip4:X.X.X.X -all"
smtp.example.com. 28800 TXT "v=spf1 ip4:X.X.X.X -all"
www.example.com. 28800 TXT "v=spf1 -all"
이메일은 작동하는 것 같고 port25.com에서는 아무런 문제가 없다고 보고합니다.
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
SpamAssassin check: ham
그러나 Yahoo는 SPF에 대한 실패를 보고합니다.
<?xml version="1.0"?>
<feedback>
<report_metadata>
<org_name>Yahoo! Inc.</org_name>
<email>[email protected]</email>
<report_id>1484621522.715243</report_id>
<date_range>
<begin>1484524800</begin>
<end>1484611199 </end>
</date_range>
</report_metadata>
<policy_published>
<domain>example.com</domain>
<adkim>s</adkim>
<aspf>s</aspf>
<p>reject</p>
<pct>100</pct>
</policy_published>
<record>
<row>
<source_ip>X.X.X.X</source_ip>
<count>7</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>example.com</domain>
<result>pass</result>
</dkim>
<spf>
<domain>myVPS.provider.com</domain>
<result>none</result>
</spf>
</auth_results>
</record>
</feedback>
Yahoo가 HELO 이름(여기 myVPS.provider.com
)을 확인하고 있는 것 같습니다. 이 이름은 전송 도메인과 IP 주소가 동일하지만 SPF 레코드가 없습니다(그리고 DNS 구성을 직접 편집할 수는 없습니다).
내 VPS 공급자가 의 DNS 구성에 다음을 추가하면 문제가 해결됩니까 myVPS.provider.com
?
myVPS.provider.com. IN TXT "v=spf1 ip4:X.X.X.X -all"
다른 대안이 있습니까?
답변1
MTA 내에서 HELO/EHLO 이름을 수정하는 것이 이전 답변보다 더 나은 접근 방식이기를 바랍니다.
를 사용하여 exim4
다음 콘텐츠를 에 추가했습니다 /etc/exim4/conf.d/main/00_local_settings
.
REMOTE_SMTP_HELO_DATA=$sender_address_domain
update-exim4.conf
그리고 이후의 service exim4 restart
HELO/EHLO 이름은 보낸 사람 주소의 도메인 이름과 동일합니다.
업데이트 :
HELO 데이터가 FQDN이어야 하므로 이 접근 방식은 잘못된 것 같습니다. 나는 훨씬 더 나은 해결책이 있다고 생각합니다.OpenSPF FAQ, 일반적인 실수 섹션,
SPF RFC에서는 HELO/EHLO 이름을 확인하는 것을 권장합니다. 이러한 호스트 이름에 대한 기록을 게시하는 것은 SPF 프로토콜의 중요한 부분입니다.
VPS 제공업체에 확인해 보고 가능한 경우 이에 따라 이 답변을 테스트하고 업데이트하겠습니다.
답변2
실제로 가장 간단한 해결책은 FQDN을 수정하는 것입니다.
나는 그것을 변경했습니다 hostname example.com
(그리고 다음 재부팅을 위해 수정했습니다 /etc/hostname
) /etc/hosts
. 다음 Yahoo 보고서가 긍정적이라면 나는 이 답변을 받아들일 것입니다(물론 누군가 더 나은 답변을 가지고 있지 않는 한…).