Errore di invio email dopo l'installazione

Ho installato Discourse e ora ho accesso da amministratore, ma quando provo a inviare inviti o email di test, si verifica un fallimento totale.

Ho un server di posta (mail.mydomain.com) con l’account postmaster@mydomain.com. Dopo aver letto diverse domande e risposte di supporto, sembra che mydomain.com possa richiedere record DNS SPF e DKIM. Ho perso questo passaggio nelle istruzioni di installazione?

Ho trovato e testato il record SPF e sembra essere corretto.
Posso inviare email dal mio account personale a postmaster@mydomain.com e vengono ricevute correttamente.

Se invio un’email di test da Discourse, non viene ricevuta. È richiesto il DKIM? Se sì, come lo configuro? Ancora una volta, ho perso questo passaggio da qualche parte?

Grazie in anticipo…

SPF e DKIM non dovrebbero impedire l’invio di email in uscita da Discourse al tuo server di posta. Controlla /logs sul tuo forum e i log del server di posta per eventuali messaggi di errore.

Eventuali documentazioni su questi aspetti provengono dal tuo provider di posta elettronica, poiché non esiste un unico modo per configurarli. Ma come già notato, è estremamente improbabile che questa sia la causa dei tuoi fallimenti nella consegna delle email.

Grazie a tutti. Scusate il ritardo. Sembra che i test delle email in uscita finiscano in un buco nero. Ora ho capito che i record SPF e DKIM non dovrebbero essere obbligatori. Ecco cosa vedo ora quando sono loggato come admin:

/emails/settings: inserisco un qualsiasi indirizzo email (mio o di un utente invitato; del dominio dell’host o meno) e ricevo questo messaggio di errore:

Si è verificato un problema durante l’invio dell’email di test. Si prega di controllare nuovamente le impostazioni di posta, verificare che l’host non stia bloccando le connessioni di posta e riprovare.

Come capisco le impostazioni email in Discourse, penso che siano corrette, ma non ho trovato una definizione reale. Il dominio dell’host non sta bloccando perché posso inviare un’email dal mio indirizzo personale. Ho controllato UFW del droplet Discourse e risulta disabilitato.

/logs/error logs è vuoto. Un errore evidente (quello sopra), ma non è stato registrato! L’opzione “Registra tutti i fallimenti nell’elaborazione delle email” in [/logs] è attiva (controllata). Non trovo errori nel dominio dell’host.

Inoltre, ho un sito WP con il plugin WP Discourse installato ma non attivato. Questo plugin potrebbe aiutare in qualche modo?

TIA

Modifica…
Sono tornato alla Dashboard e ho visto questo:

Ci sono 7 lavori email falliti. Controlla il tuo app.yml e assicurati che le impostazioni del server di posta siano corrette. [Vedi i lavori falliti in Sidekiq](https://talk.thesturdytree.com/sidekiq/retries)

Ho cliccato su Sidekiq e vedo 7 voci che sono duplicati di queste:

[in 3 ore](https://talk.thesturdytree.com/sidekiq/retries/1585096899.6700559-58d9041788be7dd98d743894) 15 [default](https://talk.thesturdytree.com/sidekiq/queues/default) Jobs::InviteEmail {"invite_id"=>2, "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout con #<TCPSocket:(closed)>

[in 3 ore](https://talk.thesturdytree.com/sidekiq/retries/1585097052.665957-fc6f06d948e7d37ec15354cc) 15 [critical](https://talk.thesturdytree.com/sidekiq/queues/critical) Jobs::CriticalUserEmail {"type"=>"email_login", "user_id"=>1, "email_token"=>"da467ec8590f0ecb0220d3aed5b33c61", "current_site_id"=>"default"} Jobs::HandledExceptionWrapper: Wrapped Net::ReadTimeout: Net::ReadTimeout con #<TCPSocket:(closed)>

Quella pagina della dashboard admin dice anche “Sei aggiornato!” ma quando faccio ssh nel droplet, mi viene detto che “55 pacchetti possono essere aggiornati.” Questo richiede qualche azione?

Si tratta di problemi indipendenti. La dashboard di amministrazione ti informa che lo stesso Discourse è aggiornato. Il messaggio all’accesso al droplet indica invece che ci sono software di sistema che possono essere aggiornati. Dovresti probabilmente indagare su come configurare gli aggiornamenti automatici per questo sistema.

Sembra che la tua istanza di Discourse non riesca a connettersi al server di posta specificato sulla porta indicata. Assicurati che la configurazione sia corretta e che DigitalOcean non blocchi le connessioni in uscita sulla porta che stai cercando di utilizzare.

https://github.com/discourse/discourse/blob/master@{2020-03-24}/docs/INSTALL-cloud.md#post-install-maintenance

Su Ubuntu utilizza il comando dpkg-reconfigure -plow unattended-upgrades.

Suggerimenti, in ordine logico di esecuzione:

  1. Verifica che il tuo droplet possa connettersi al server di posta tramite telnet
  2. Verifica che le credenziali SMTP funzionino indipendentemente dal droplet

Se il punto 1 fallisce, allora hai un problema di rete: è noto che DigitalOcean blocca determinate porte in uscita, e questo è il problema nell’85% dei casi.

Se sia il punto 1 che il punto 2 funzionano, controlla il tuo app.yml: è probabile che la password includa un carattere che ne impedisce il corretto parsing (circa il 5% dei casi), oppure che non sia stata inserita correttamente.

Per quanto riguarda il server di posta, se stai ospitando un server di posta invece di utilizzare uno dei provider consigliati, SPF e DKIM possono sicuramente aiutare con la consegnabilità, ma è probabile che tu sia all’estremità più critica del problema in termini di difficoltà legate alla posta.

Grazie a tutti per l’assistenza.
Penso che il problema fosse il mio server email fornito da GoDaddy. Non sono mai riuscito a identificare la causa del problema. Sembra che GoDaddy abbia molti problemi con gli account condivisi. Alla fine, ho deciso che non ne valeva la pena e ho cercato fornitori di email consigliati, scegliendo mailjet.com. Ho aperto un account gratuito su Mailjet e ho modificato app.yml di conseguenza. Era necessaria anche un’ulteriore configurazione per Mailjet. Ho riprovato il test email di Discourse: successo. La mia community Discourse è piccola, quindi non dovrebbero esserci problemi con il limite di email gratuite di Mailjet. Al momento tutto sembra a posto, ma vedo che c’è ancora molta configurazione da fare.
Grazie ancora…