Impossibile inviare email

Non ricevo email quando creo un account e mi stavo chiedendo se avessi fatto qualcosa di sbagliato. Qual è la differenza tra un indirizzo SMTP e un dominio SMTP?

Indirizzo SMTP: user@example.com
Dominio SMTP: example.com

1 Mi Piace

Pensi di potermi aiutare? Ho usato uno strumento SMTP online e funziona tutto bene, ma Discourse non sembra inviare email quando mi iscrivo.

Ciao e benvenuto @ethhaqn :slight_smile:

Hai consultato la guida alla risoluzione dei problemi?

3 Mi Piace

Ho usato telnet mail.theapi.tech 25 e ha restituito 220 myhelper.tech ESMTP Postfix, un vecchio dominio che ho usato per testare questo sistema. Pensi che stia avendo un impatto sull’invio di email? Se sì, dove posso cambiare il dominio? Ancora una volta, è un vecchio dominio ma non sono sicuro di dove potrei aver inserito questo dominio per farlo restituire quando eseguo telnet mail.theapi.tech 25.

Potrebbe anche valere la pena notare che ./discourse-doctor mi ha detto che c’era un errore insolito e non è riuscito a risolvere il mio problema.

Inoltre, non ho usato ./discourse-setup per configurare Discourse poiché la porta 80 era occupata. Invece, ho modificato manualmente containers/app.yml ed eseguito ./launcher rebuild app.

Ho usato tail shared/standalone/log/rails/production.log e i log dicono:

Processing by FinishInstallationController#confirm_email as HTML
  Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 255)
  Rendered layout layouts/finish_installation.html.erb (Duration: 6.7ms | Allocations: 2103)
Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms | Allocations: 2735)
start
  Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 34)
Delivered mail 0e5b023a-90f9-4c23-ae2b-488b4d70d907@theapi.tech (39.6ms)
Job exception: hostname "mail.theapi.tech" does not match the server certificate

fail

openssl s_client -connect mail.theapi.tech:25 -starttls smtp -showcerts

Errore di verifica: certificato autofirmato

Quindi è necessario impostare DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none nel tuo app.yml

2 Mi Piace

Questo non farà sì che tu non debba verificare la tua email?

No. Farà saltare a Discourse la verifica che sta fallendo in questo momento.

Ah, eccoci. Come posso ottenere un certificato SSL? Questo è nel mio app.yml tra parentesi:

image

Penso che la parte in cui si configura il proprio server di posta esuli dall’ambito di questo forum.

1 Mi Piace

No, no, non sul mio mail server. Sul tuo sito Discourse effettivo.

Segui Run other websites on the same machine as Discourse e, se non funziona, apri un nuovo argomento.

1 Mi Piace

Ciao, ho aggiornato la mia istanza locale di Discourse alla versione 2.9.0.beta4 e anche dopo aver aggiunto DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: “none” nel mio file containers/app.yml (e aver ricostruito l’app), continuo a ricevere errori come questo:

  Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 34)
Delivered mail 31c5b9eb-1077-4155-b040-314c4a8566cb@taverne.colorfulminis.com (11.3ms)
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)

Questo ovviamente impedisce alla mia istanza di Discourse di inviare email.
Ci sono problemi noti a riguardo?

Per tua informazione: sto eseguendo un’istanza di pre-produzione con la versione 2.8.0.beta9 e la stessa identica configurazione, e le email vengono inviate senza problemi.

Grazie per il tuo aiuto.

1 Mi Piace

Ciao Alexis,

Ho esattamente lo stesso problema su una VM (istanza Discourse basata su docker 2.9.0.beta4 con Ubuntu 22.04). Anche con DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none in container/app.yml (e $DISCOURSE_SMTP_OPENSSL_VERIFY_MODE nell’ambiente docker impostato su none), certificate verify failed (self signed certificate) continua a essere sollevato.

Modifica: a scopo informativo, la versione stabile (2.8.3) funziona come previsto.

Per la cronaca: abilitare DISCOURSE_SMTP_ENABLE_START_TLS: true ha risolto il problema dalla mia parte.

A chiunque cerchi risposte senza successo e arrivi a questo argomento:
Ho appena avuto il piacere di scoprire che il mio provider di hosting VPS richiede di abilitare prima le porte di posta in uscita su una macchina appena installata. Lo sapevo, ma me ne sono ricordato solo dopo una notte di sonno :wink:
Buon Hosting! :smiley: