Quando Discourse invia email, utilizza il nome del server nella transazione SMTP From. Il problema è che lo inoltro a un server upstream per l’invio effettivo e, se l’invio fallisce, il messaggio di rimbalzo non torna mai al server (questo va bene; non voglio che Discourse riceva email). Ma i rimbalzi si accumulano nella casella di posta del nostro postmaster.
È possibile impostare l’SMTP From su un altro hostname, in modo che i rimbalzi vengano inviati a un indirizzo email valido e possano essere gestiti in modo appropriato (ad esempio, dicendo all’utente di correggere il proprio dannato indirizzo email)?
Ho già provato a impostare l’impostazione Email di notifica nel pannello di amministrazione, ma il server upstream la ignora e tenta di inviare il rimbalzo al server upstream da cui ha effettivamente ricevuto l’email invece che al percorso From nell’email effettiva.
L’impostazione dell’email di notifica viene utilizzata nell’intestazione dell’email From (RFC822), ma (come noti) per questo scopo vuoi impostare l’Envelope From che viene utilizzato nella transazione SMTP (RFC5321). Discourse utilizza reply_by_email_address qui.
La soluzione più integrata è impostare reply_by_email_address su qualcosa che venga recapitato a Discourse in modo che gestisca automaticamente i rimbalzi. Questo è ciò che facciamo sulla nostra piattaforma di hosting.