SPF issue with SpamAssassin

2

Eu tenho um aplicativo de gerenciamento interno para uma pequena empresa, escrito em Python e executado em um Linode VPS, com o qual os usuários podem enviar e-mails ocasionais para seus clientes. Os e-mails são bem diretos: uma parte de texto (ou seja, não HTML) com um anexo de fatura em PDF, criado com o módulo email stdlib e enviado por meio de um servidor SMTP externo (que não está hospedado no VPS).

Tudo tem funcionado muito bem por um tempo, mas ultimamente tenho recebido reclamações de que os emails são frequentemente classificados como spam pelos servidores de email de recebimento. Enviei um e-mail de teste para o link e descobri que adicionar alguns cabeçalhos ausentes ( Date e Message-ID em particular) ajudou a reduzir o nível de "spaminess" das minhas mensagens. No entanto, há um problema de SpamAssassin relacionado ao SPF que ainda me escapa:

SPF_HELO_SOFTFAIL   SPF: HELO does not match SPF record (softfail)

Eu tentei enviar o e-mail de teste para minha conta do Gmail e aqui estão os cabeçalhos relevantes que podem ser encontrados quando eu faço "Mostrar original":

Received-SPF: pass (google.com: domain of <sender_address> designates <ip_smtp_server> as permitted sender) client-ip=<ip_smtp_server>;
Received: from [<ip_linode_vps>] (helo=<domain_name_linode_vps>)

A partir disso e de algumas informações adicionais reunidas aqui e ali, tenho certeza de que esse problema pode ser corrigido modificando de alguma forma o registro SPF do domínio do servidor SMTP (que já existe, como um registro TXT com "v=spf1 a mx... ~all" string contendo uma referência ip4 a <ip_smtp_server> ), mas meu entendimento atual não é suficiente para fazê-lo, então agradeço qualquer ajuda.

Atualização:

<ip_linode_vps> = 69.164.216.89
<domain_name_linode_vps> = li131-89.members.linode.com
<ip_smtp_server> = 192.99.17.51
<domain_name_smtp_server> = mail.roucet.com
<already_existing_spf_record> = "v=spf1 a mx ip4:192.99.17.51 ip4:158.85.89.116 ip4:158.85.77.121 ~all"
    
por cjauvin 13.12.2014 / 05:18

1 resposta

2

Todos os servidores de email autorizados devem estar listados no registro SPF. Como agora você tem um novo servidor de email autorizado, ele deve ser adicionado. Alguns SPAMs diferenciam entre listado (A, MX) e permitido (~ all) e não tratam endereços não listados como um passe. Isso penaliza os remetentes que não enviam através de um servidor aprovado (geralmente spambots). A política ~all indica que o usuário realmente não se importa com quem usa o domínio, em comparação com a política -all que poderia bloquear ou colocar em quarentena o email.

A abordagem alternativa é configurar o novo servidor para retransmitir mensagens usando o servidor existente. É comum que os aplicativos permitam que um servidor de retransmissão de email seja configurado. Em python, você configuraria seu nome de servidor VPS em vez de localhost.

Qualquer que seja o servidor que esteja enviando e-mail, ele deve adicionar os cabeçalhos necessários ao receber a mensagem do seu aplicativo. Como alternativa, você pode adicionar os cabeçalhos no aplicativo. Existe um formato definido para a data no cabeçalho Data. O cabeçalho Message-id tem um formato definido, mas não é tão estrito. IDs de mensagem se assemelham a um endereço de e-mail, mas o lado esquerdo deve ser um ID exclusivo.

    
por 13.12.2014 / 05:48