DKIM - Hash do corpo não verifica - no email enviado do Discourse

Criei um registro DKIM em um dos meus sites de hospedagem (pair.com) usando o sistema automatizado deles. Criei um registro TXT com o host e a chave DKIM no meu servidor DNS DigitalOcean.

Se eu enviar um e-mail via Thunderbird, o DKIM passa. Quando o Discourse envia um e-mail, usando exatamente as mesmas informações de servidor/conta, recebo:

dkim=neutral (body hash did not verify) header.i=@knysnayachtowners.org header.s=pair-202409020848 header.b=UW+zWBx8;

O que estou fazendo de errado?

A assinatura DKIM ocorre no servidor de e-mail remetente, ou seja, depois que o Discourse o entrega ao servidor SMTP configurado para uso.

Se você está vendo uma incompatibilidade de hash, isso sugere que o e-mail foi modificado após ser assinado ou que o par de chaves não corresponde.

Se você está definitivamente usando detalhes idênticos no Thunderbird e no Discourse (você reiniciou o contêiner para garantir que ele esteja usando os detalhes que você tem em app.yml?), eu ficaria surpreso se ele estivesse sendo assinado com uma chave diferente ou usando um seletor diferente, então eu esperaria ver o mesmo resultado se o par de chaves não correspondesse.

Pode ser que o endereço do remetente seja diferente e seu provedor de e-mail esteja assinando de forma diferente com base nisso?

Essencialmente, algo está acontecendo depois que ele saiu do Discourse. Se você não conseguir encontrar uma causa óbvia, como o endereço do remetente, talvez precise entrar em contato com seu provedor de e-mail para descobrir o que está acontecendo.

1 curtida

Conforme sugerido, você precisa alterar o notification email para um endereço no domínio para o qual você configurou o envio de e-mails.

1 curtida

Executei uma série de testes adicionais e descobri que o problema era que o endereço TO com o qual eu estava testando encaminhava o e-mail para o Gmail. Se eu enviasse o e-mail diretamente para o Gmail, o hash passava.

No entanto, isso ainda me confunde, pois olho os cabeçalhos de outros e-mails enviados para este endereço, e o hash DKIM passa. Por que isso seria diferente?

O Gmail não vê o DKIM. O Google é muito rigoroso quanto a isso. O principal motivo é que o servidor de envio não é o que um administrador pensa que é.