J’ai créé un enregistrement DKIM sur l’un de mes sites d’hébergement (pair.com) en utilisant leur système automatisé. J’ai créé un enregistrement TXT avec l’hôte et la clé DKIM sur mon serveur DNS DigitalOcean.
Si j’envoie un e-mail via Thunderbird, DKIM réussit. Lorsque Discourse envoie un e-mail, en utilisant exactement les mêmes informations de serveur/compte, j’obtiens :
La signature DKIM se produit sur le serveur d’envoi de courrier, c’est-à-dire après que Discourse l’a transmis au serveur SMTP qu’il est configuré pour utiliser.
Si vous constatez une discordance de hachage, cela suggère soit que l’e-mail a été modifié après avoir été signé, soit que la paire de clés ne correspond pas.
Si vous utilisez absolument les mêmes détails dans Thunderbird et Discourse (avez-vous redémarré le conteneur pour vous assurer qu’il utilise les détails que vous avez dans app.yml ?), je serais surpris qu’il soit signé avec une clé différente ou qu’il utilise un sélecteur différent, donc je m’attendrais à voir le même résultat si la paire de clés ne correspondait pas.
Se pourrait-il que l’adresse de l’expéditeur diffère et que votre fournisseur de messagerie signe différemment en fonction de cela ?
Essentiellement, quelque chose se passe après que le message a quitté Discourse. Si vous ne trouvez pas de cause évidente comme l’adresse de l’expéditeur, vous devrez peut-être contacter votre fournisseur de messagerie pour savoir ce qui se passe.
J’ai effectué une série de tests supplémentaires et j’ai constaté que le problème venait de l’adresse TO avec laquelle je testais, qui transférait le courrier à Gmail. Si j’envoyais le courrier directement à Gmail, le hash passait.
Cependant, cela me laisse perplexe, car en regardant les en-têtes d’autres courriers envoyés à cette adresse, le hash DKIM passe. Pourquoi serait-ce différent ?