Um dos pontos fracos da assinatura do DKIM é que ele não abrange o envelope da mensagem, que contém o caminho de retorno e destinatários da mensagem. Então você deve usar example.com, que deve ser o domínio de assinatura.
Eu envio e-mails com endereços From
e Return-Path
diferentes em domínios diferentes (para coleta de rejeições em um servidor de e-mail separado). Por exemplo, From: [email protected]
e Return-Path: [email protected]
. Qual desses domínios deve ser usado na assinatura DKIM d=xxx
?
Li questões relacionadas e não encontrei resposta concreta.
Um dos pontos fracos da assinatura do DKIM é que ele não abrange o envelope da mensagem, que contém o caminho de retorno e destinatários da mensagem. Então você deve usar example.com, que deve ser o domínio de assinatura.
Tl; dr: você deve usar o domínio do cabeçalho From:
address 'para assinatura. Aqui está o porquê.
Eu procurei os cabeçalhos de e-mails assinados enviados por ESPs como MailChimp, SendGrid e afins. Acontece que não há regra geral. Alguns usam o domínio From:
address ', alguns usam o domínio Return Path:
. Porque esta não é uma observação muito satisfatória, tentei descobrir se realmente importa na prática.
RFC 4871 seção 5.1 declara:
INFORMATIVE NOTE: Signing modules may be incorporated into any portion of the mail system as deemed appropriate, including an MUA, a SUBMISSION server, or an MTA. Wherever implemented, signers should beware of signing (and thereby asserting responsibility for) messages that may be problematic. In particular, within a trusted enclave the signing address might be derived from the header according to local policy; SUBMISSION servers might only sign messages from users that are properly authenticated and authorized.
Este texto não reforça nem sugere uma estratégia específica. Falando sobre a verificação de assinaturas DKIM, sei que o Amavis e o OpenDKIM não se importam se o domínio de assinatura é parte de qualquer endereço de remetente de um e-mail, e o GMail também não o faz. O domínio de assinatura deve, por todos os meios, ser tratado como a "âncora de confiança" de seus e-mails. A interface da Web do GMail mostrará qual domínio foi usado para assinatura, mas não avisa se ele difere do endereço do remetente. Mas deveria.
No meu ponto de vista, esta é uma grande fraqueza da especificação. Um remetente de spam pode usar qualquer domínio para o qual ele tenha acesso, a fim de enviar mensagens indesejadas devidamente assinadas que pareçam ter origem em uma pessoa ou organização confiável. Eu não estou ciente de nenhum e-mail de spam usando essa técnica, mas acredite, haverá. O DKIM é um método para garantir a autenticidade de uma mensagem. O objetivo não era derrotar o spam, mas dar aos remetentes sinceros um método para mostrar que seu e-mail pode ser confiável. Quando os spammers podem fingir isso, o DKIM é inútil. É claro que a verdadeira força vem da combinação de SPF e DKIM (ou seja, DMARC), mas isso é outro tópico.
Por favor, não use domínios estrangeiros para assinar seus e-mails enviados. Embora tecnicamente possível, não faz sentido fazê-lo. Além disso, usar o Mail From:
do envelope / Return Path:
da mensagem é uma opção menos ideal: no caso de SRS ser usado ao longo da transmissão (entre outras técnicas), o remetente do envelope será simplesmente reescrito. Isso está além do seu controle e, em última análise, quebra a ligação direta entre o domínio de assinatura e o remetente real da mensagem, que deve ser mantido intacto.
Portanto, na minha opinião, é preferível usar o domínio do remetente From:
ao assinar mensagens de saída sempre que possível. Além disso, deve-se incentivar que, ao verificar emails assinados, os ISPs devem honrar se o domínio usado para assinar o email fizer parte do endereço do remetente. Eu adoraria ouvir sobre outras opiniões!
Também encontrei um post interessante com alguns mais referências se alguém deseja aprofundar neste tópico.
Tags dkim