Ho creato un record DKIM presso uno dei miei siti di hosting (pair.com) utilizzando il loro sistema automatizzato. Ho creato un record TXT con l’host e la chiave DKIM sul mio server DNS DigitalOcean.
Se invio un’email tramite Thunderbird, DKIM passa. Quando Discourse invia un’email, utilizzando esattamente le stesse informazioni del server/account, ottengo:
La firma DKIM avviene sul server di posta in invio, ovvero dopo che Discourse lo ha consegnato al server SMTP configurato per l’uso.
Se stai riscontrando una discrepanza nell’hash, ciò suggerisce che l’email è stata modificata dopo essere stata firmata o che la coppia di chiavi non corrisponde.
Se stai utilizzando dettagli identici in Thunderbird e Discourse (hai riavviato il container per assicurarti che utilizzi i dettagli presenti in app.yml?), sarei sorpreso se venisse firmato con una chiave diversa o utilizzando un selettore diverso, quindi mi aspetterei di vedere lo stesso risultato se la coppia di chiavi non corrispondesse.
Potrebbe essere che l’indirizzo del mittente sia diverso e il tuo provider di posta stia firmando in modo diverso in base a ciò?
Essenzialmente, sta succedendo qualcosa dopo che è uscito da Discourse. Se non riesci a trovare una causa ovvia come l’indirizzo del mittente, potresti dover contattare il tuo provider di posta per scoprire cosa sta succedendo.
Ho eseguito una serie di test aggiuntivi e ho scoperto che il problema era che l’indirizzo TO con cui stavo testando inoltrava l’email a Gmail. Se inviavo l’email direttamente a Gmail, l’hash passava.
Tuttavia, questo mi confonde ancora perché guardo gli header di altre email inviate a questo indirizzo e l’hash DKIM passa. Perché dovrebbe essere diverso?