Estou tentando configurar SPF/DKIM/DMARC no meu servidor de e-mail em um VPS. Aqui está minha configuração de DNS (DKIM e DMARC removidos para facilitar a leitura):
@ 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"
Os e-mails parecem funcionar e port25.com não relata nada de errado:
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
SpamAssassin check: ham
No entanto, o Yahoo relata uma falha no 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>
Parece que o Yahoo está verificando o nome HELO (aqui myVPS.provider.com
), que embora tenha o mesmo endereço IP do domínio de envio, não possui registro SPF (e não posso editar sua configuração de DNS sozinho).
O problema seria resolvido se meu provedor VPS adicionasse o seguinte à configuração DNS de myVPS.provider.com
?
myVPS.provider.com. IN TXT "v=spf1 ip4:X.X.X.X -all"
Existem outras alternativas?
Responder1
Esperançosamente, esta é uma abordagem melhor do que a resposta anterior: modificar o nome HELO/EHLO dentro do MTA.
Com exim4
, adicionei o seguinte conteúdo a /etc/exim4/conf.d/main/00_local_settings
:
REMOTE_SMTP_HELO_DATA=$sender_address_domain
Depois de update-exim4.conf
e service exim4 restart
, o nome HELO/EHLO é igual ao nome de domínio do endereço do remetente.
Atualizar :
Parece que esta abordagem está errada, uma vez que os dados HELO deveriam ser o FQDN. Eu acho que há uma solução muito melhor: de acordo como FAQ do OpenSPF, seção Erros Comuns,
A verificação dos nomes HELO/EHLO é recomendada pelo SPF RFC. A publicação de registros para esses nomes de host é uma parte importante do protocolo SPF.
Verificarei com meu provedor VPS e, se isso puder ser feito, testarei e atualizarei esta resposta de acordo.
Responder2
Na verdade, a solução mais simples pode ser modificar o FQDN?
Eu mudei com hostname example.com
(e modifiquei /etc/hostname
e /etc/hosts
para a próxima reinicialização), se o próximo relatório do Yahoo for positivo aceitarei esta resposta (a menos que alguém tenha uma melhor, é claro…).