Ho avuto difficoltà a configurare SMTP in modo che funzioni; spero davvero che qualcuno possa aiutarmi con il mio scenario. Immaginiamo che il mio forum Discourse si trovi su discourseaddress.com e che la mia posta sia ospitata su mailserver.com. Discourse è su una VM di Google Cloud, mentre il server di posta è su un host diverso (si tratta di un semplice hosting web con cPanel).
Le mie impostazioni sono le seguenti:
Hostname: discourseaddress.com
Email: user@discourseaddress.com
Indirizzo SMTP: mailserver.com
Porta SMTP: 26
Nome utente SMTP: discourse@discourseaddress.com
Password SMTP: mailpassword
Con queste impostazioni, ricevo un errore che indica che il nome host non corrisponde al certificato e le email non vengono consegnate.
Se uso DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none, le email vengono consegnate, ma non credo che sia sicuro? (Ottenho comunque 10/10 su mailtester.com con questa impostazione).
Se qualcuno può darmi un feedback su questo, ne sarei molto grato.
Sembra che il problema sia dovuto al fatto che il certificato di mailserver.com non è valido. Forse mailserver.com ha un altro nome che dovresti utilizzare.
Potresti essere un po’ più chiaro su questo? Il certificato SSL del mio server di posta è rilasciato da Let’s Encrypt, ma si trova dietro la porta 465 (uso la 26, la 465 non funziona affatto) e il mio Discourse è certificato da CloudFlare. Non sono sicuro di aver capito tutto riguardo ai certificati.
O chi gestisce quel server di posta lo ha configurato in modo errato e/o risponde a mailserver.com ma possiede un certificato valido solo per (qualcosa come) mail.mailserver.com. Bisogna chiedere a chi gestisce quel server. Non si tratta di un problema di Discourse. Se sei tu a gestire il server di posta, o risolvi il problema del certificato, oppure, in alternativa, usa DISCOURSE_SMTP_OPENSSL_VERIFY_MODE, che funziona.