Estou usando o Procmail para encaminhar e-mails para outro servidor. Muitas vezes recebo uma mensagem de erro do servidor destinatário:
host smtp-in.orange.fr[80.12.26.32] said: 501 5.2.0
y8XgrepnBNXb2 Mail rejete. Mail rejected. DMARC check failed. OFR_515 [515]
(in reply to end of DATA command)
Este é o trecho relevante da minha configuração do Procmail:
:0 c
* (^TO_|X-Original-To:.*)[email protected]
* <46000000
{
:0 hfw
* ^Subject:\/.+
| formail -I "Subject: FORWARDED:$MATCH"
:0 a
! [email protected]
}
O registro DMARC do remetente é:
dmarc is: v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected];
Aqui estão os detalhes do DMARC (nota do editor: aparentemente para meu próprio domínio):
_dmarc.myserver.com
v=DMARC1; p=none; sp=none; fo=1; ri=86400; rua=mailto:[email protected],mailto:[email protected]; ruf=mailto:[email protected],mailto:[email protected]
A falha do DMARC depende de recursos nos cabeçalhos que não podemos ver.
O DMARC depende de uma política definida pelo remetente original. Neste caso específico, suponho que eles não querem que suas mensagens sejam encaminhadas, seja por causa de um descuido na configuração de sua política, ou porque desejam genuinamente proibi-lo (realisticamente, porque consideram isso um preço aceitável a pagar para proibir certos tipos de falsificações).
Uma maneira simples, mas talvez inaceitável, de evitá-los é incorporar a mensagem encaminhada em uma nova mensagem; ou talvez tente não modificar a mensagem que você está encaminhando. Se a falha do DMARC ocorrer devido a uma falha subjacente do SPF, talvez a solução mais simples seja atualizar o
From:
cabeçalho também (mas isso depende de várias suposições sobre o que aconteceu e o que você gostaria que acontecesse).Isso deve contornar a falha do DMARC porque você não está mais fazendo parecer que está tentando enviar uma mensagem "de:" do domínio original sem a aprovação deles.
Mais detalhadamente, o registro DMARC que você cita especifica apenas como as falhas do DMARC devem ser tratadas; mas os sintomas gerais sugerem que o domínio do destinatário não permite que remetentes externos usem seu nome de domínio no
From:
cabeçalho, por meio de um registro SPF que especifica esta política com mais detalhes. Infelizmente, não existe nenhum mecanismo no SPF que diga "exceto se você estiver encaminhando uma mensagem que seja realmente nossa"; na verdade, a falta de apoio ao encaminhamento é uma das críticas comuns contra o SPF. Mas, para muitos propósitos, você pode facilmente contornar isso substituindo oFrom:
cabeçalho por um sobre o qual você tem controle (e talvez colocando oFrom:
cabeçalho original emX-Original-From:
, como esta receita faz).A substituição de cabeçalhos também destruirá frequentemente qualquer assinatura DKIM , que é outro mecanismo que o DMARC integra. Se você se preocupa com a integridade do DKIM, seu servidor de encaminhamento provavelmente substituirá o wrapper DKIM original por um de sua preferência, que, novamente, contornará as preferências expressas nas políticas DMARC e DKIM do remetente original.
Sem uma cópia dos registros SPF e DKIM e dos cabeçalhos reais da mensagem, esta é necessariamente uma visão geral de alto nível; mas a solução que proponho deve contornar o problema que você está perguntando.