Nuova installazione Discourse/Docker non invia email

Ciao a tutti,
Voglio migrare un forum di lunga data da phpBB3 a Discourse. Sono riuscito a configurare Docker e ad accedere alla configurazione iniziale. Sfortunatamente, non viene inviata alcuna e-mail, quindi non posso completare l’inizializzazione.
Ho effettuato alcuni debug e non riesco a trovare la causa, quindi mi rivolgo a voi per chiedere aiuto.

La mia configurazione è la seguente: ho configurato Apache2 come reverse proxy per Docker, il che funziona. Il mio mail server è un mailcow Docker sulla stessa macchina. Il mail server è stato testato a fondo e funziona regolarmente tramite SMTP con STARTTLS sulla porta 587 e webmail.

La configurazione in app.yml è la seguente:

  DISCOURSE_SMTP_ADDRESS: mail.example.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: discourse@example.com
  DISCOURSE_SMTP_PASSWORD: "password"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
  #DISCOURSE_SMTP_DOMAIN: mail.example.com
  DISCOURSE_NOTIFICATION_EMAIL: discourse@example.com

quando eseguo ./discourse-doctor ottengo:

==================== MAIL TEST ====================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di test a te stesso.
Indirizzo email per il test di posta? ('n' per saltare) [admin@example.com]:
Invio posta a admin@example.com. . .
Test di invio a admin@example.com utilizzando mail.example.com:587, nome utente: discourse@example.com con autenticazione plain.
=======================================
ERROR
=======================================
                                   UNEXPECTED ERROR

Cannot assign requested address - connect(2) for [corretto ipv6]:587

=======================================
SOLUTION
=======================================
Questo non è un errore comune. Non esiste una soluzione raccomandata!

Si prega di segnalare il messaggio di errore esatto sopra a https://meta.discourse.org/
(E una soluzione, se ne trovi una!)

Non riuscendo a trovare persone con messaggi di errore simili sul web, mi sono rivolto a questo thread
Sono stato in grado di connettermi facilmente al mail server con telnet dall’esterno del container.

Cosa ho provato all’interno del container:

getent hosts mail.example.com

ha fornito l’indirizzo IPv6 corretto
Ma poi sono iniziati gli errori:

openssl s_client -connect mail.example.com:587 -starttls smtp
140124593714496:error:0200206E:system library:connect:Connection timed out:../crypto/bio/b_sock2.c:110:
140124593714496:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=110
openssl s_client -6 -connect "[corretto IPv6]:587" -starttls smtp
139918557709632:error:02002063:system library:connect:Cannot assign requested address:../crypto/bio/b_sock2.c:110:
139918557709632:error:2008A067:BIO routines:BIO_connect:connect error:../crypto/bio/b_sock2.c:111:
connect:errno=99
openssl s_client -connect smtp.gmail.com:587 -starttls smtp

funziona benissimo
Quando provo il

openssl s_client -connect mail.example.com:587 -starttls smtp

dall’esterno del container, funziona anche bene.
I miei log di mailcow/postfix non mostrano nulla…
Sono bloccato. Potete aiutarmi a capire dove cercare dopo?

1 Mi Piace

Vedi Risoluzione dei problemi di posta elettronica in una nuova installazione di Discourse.

Il problema è probabilmente che il tuo indirizzo e-mail di notifica non è uno da cui il tuo server di posta è configurato per inviare.

Ma ciò non spiega gli errori di “connessione scaduta”. Sembra un problema di rete di Docker.

1 Mi Piace

Grazie per la tua risposta. Ho provato a usare lo stesso indirizzo in entrambi i campi, nessuna modifica, stesso errore.
Seguendo il thread di risoluzione dei problemi:

Cosa dicono i log di Discourse?

`Job exception: Cannot assign requested address - connect(2) for [corretto IPv6]:587

Cosa dicono i log del tuo provider di posta elettronica?

Nessuna voce di log compare in relazione alle email inviate da Discourse.

Ho quindi provato questo Metodo https://www.saotn.org/test-smtp-authentication-starttls/ per vedere se sarei in grado di autenticarmi tramite openssl, e funziona bene dal server, ma non dall’interno del container, produce l’errore che ho descritto nel primo post.

Come posso scoprire cosa sta bloccando la connessione qui?

1 Mi Piace

omfg è stato così facile.
Ho solo dovuto attivare IPv6 nella mia rete Docker, solo i primi tre passaggi di questo tutorial e ha funzionato.

3 Mi Piace

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