L'ultima versione di Discourse non invia Email

Sembra che stia riscontrando un problema con Discourse che invia email tramite SMTP.

Ho verificato il mio hostname con il mio Provider di Servizi Email e ho inviato correttamente email con Telnet e tramite sendmail tramite la VM host, nonché tramite Telnet all’interno del container Docker di Discourse.

Ho esaminato l’integrazione di ‘sendmail’ all’interno del container Docker e ho ricevuto un errore ‘impossibile risolvere il nome host’ quando ho inviato email direttamente dalla CLI.

Per me, ciò significa che non ci sono problemi di comunicazione tra la VM e il provider del servizio SMTP.

Ho provato tutte le solite porte SMTP e ritengo che la configurazione nel file app.yml sia corretta. La VM è Linux 20.04, sono stati utilizzati anche 24.04 e 22.04 nei test.

La crittografia avviene con un certificato Let’s Encrypt.

  DISCOURSE_SMTP_ADDRESS: <smtp_provider>
  DISCOURSE_SMTP_PORT:  <port>
  DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_USER_NAME: apikey
  DISCOURSE_SMTP_PASSWORD: "<secret>"
  DISCOURSE_SMTP_ENABLE_START_TLS: true

Ogni volta che invio tramite il modulo di Discourse, continuo a ricevere un messaggio di “esecuzione scaduta”.

1 Mi Piace

Controlla i limiti del tuo provider di servizi di posta elettronica. A volte l’invio non riesce quando la quota viene raggiunta. Prova a inviare un’e-mail da Outlook. È successo anche a me una volta. Il tuo problema potrebbe essere diverso, ma potrebbe comunque essere utile a qualcuno.

1 Mi Piace

Se ricevi “hostname could not be resolved”, sembra che il nome host non possa essere risolto, il che è un problema.

Funziona rake emails:test[you@somewhere.com]? Vedi anche Risoluzione dei problemi di posta elettronica in una nuova installazione di Discourse

2 Mi Piace

Grazie per le risposte. Ho dato un’occhiata durante il fine settimana. Ho creato una VM su Digital Ocean e ho configurato SMTP con Brevo. Tutto è andato bene. :slight_smile:

Quindi non c’è niente di sbagliato in Discourse.

Immagino che Discourse utilizzi una GEM Ruby come NET::smtp per inviare e-mail e che per impostazione predefinita non ci sia un server smtp installato all’interno del container. Il problema che stiamo riscontrando è su un tenant Azure.

Mi sembra che la richiesta al servizio SMTP esterno, cioè venga bloccata da qualche parte. Da qualche tipo di meccanismo anti-SPAM che si trova sopra il tenant.

Ho ancora alcuni test da effettuare per restringere il campo.

Qualsiasi informazione su come Discourse facilita l’invio di e-mail sarebbe fantastica :slight_smile: Sono un po’ un principiante con Ruby on the Rails.

1 Mi Piace

Ma hai configurato SMTP nello stesso modo in cui hai fatto sull’istanza di Digital Ocean?

Cosa succede quando esegui il rake task?

Uguale: nessuna connessione.

Sto usando diversi relay SMTP in ogni istanza.

Ci sono un paio di test che sto eseguendo per convalidare:

  • Installare discourse tramite docker-compose localmente
  • Installare Discourse in un tenant Azure diverso sotto una sottoscrizione diversa
  • Convalidare entrambi i relay SMTP Brevo e SendGrid

Aggiornerò il post dopo questi test…

Nessuna connessione è nessuna connessione. È abbastanza chiaro che sei bloccato da un firewall.

Forse prova la porta 2525? O chiedi se la porta desiderata è bloccata dal tuo provider (ad esempio, digital ocean).

@pfaffman Grazie per aver trovato del tempo per questo. Come è emerso, il problema era correlato al DNS.

Tutto ora funziona correttamente :grinning:

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.