Я пытаюсь настроить SPF/DKIM/DMARC на моем почтовом сервере на VPS. Вот моя конфигурация 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
Надеюсь, это лучший подход, чем предыдущий ответ: изменить имя HELO/EHLO в MTA.
С помощью 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. Я думаю, есть гораздо лучшее решение: согласноFAQ по OpenSPF, раздел Распространенные ошибки,
Проверка имен HELO/EHLO рекомендуется SPF RFC. Публикация записей для этих имен хостов является важной частью протокола SPF.
Я свяжусь со своим провайдером VPS, и если это возможно, я проверю и обновлю этот ответ соответствующим образом.
решение2
На самом деле самым простым решением может быть изменение полного доменного имени?
Я изменил его hostname example.com
(и изменил /etc/hostname
и /etc/hosts
для следующей перезагрузки), если следующий отчет Yahoo будет положительным, я приму этот ответ (если только у кого-то не будет лучшего, конечно…).