Nel testo qui sotto, sostituisci <DOT> con . - poiché sono un nuovo utente, Discourse non mi permette di pubblicare link.
Ho installato Discourse su un nuovo server cloud di Hetzner, e l’URL si risolve correttamente: forum.thewizardofosc.com
Tuttavia, l’email con cui mi sono registrato non viene mai inviata. Nel file di log, il messaggio di Discourse è “Net::ReadTimeout”, se ciò dice qualcosa.
Telnet si connette: digitando "telnet mail.thewizardofosc.com 465" ottengo "Connected to thewizardofosc.com".
Di seguito riportiamo le sezioni che ritengo rilevanti del mio file di configurazione dell’app:
## all'iscrizione iniziale, ad esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'iliasb@thewizardofosc.com'
## TODO: Il server SMTP utilizzato per validare i nuovi account e inviare notifiche
# Indirizzo SMTP, nome utente e password sono obbligatori
# ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
DISCOURSE_SMTP_ADDRESS: mail.thewizardofosc.com
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: discourse@thewizardofosc.com
DISCOURSE_SMTP_PASSWORD: <PASSWORD>
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, valore predefinito true)
## Se hai aggiunto il modello Lets Encrypt, decommenta qui sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
Ma senza molto successo. L’esecuzione di discourse-doctor mi restituisce lo stesso output: Net::ReadTimeout,
che vedo anche in shared/standalone/log/rails/production.log
Strano. Se riesci a connetterti dall’esterno del contenitore, puoi verificare se quel comando curl funziona all’interno del contenitore. La mia unica ipotesi è che tu abbia un problema di rete con Docker.
Sì, era una speranza remota… scusa per il tempo che ti ho fatto perdere!
L’unica altra mia “idea pazza” al momento è vedere se puoi accedere al tuo server di posta (qualunque esso sia) e impostare la porta su 587 (molti provider SMTP offrono questa opzione) e “tornare a giocare i dadi” con DISCOURSE_SMTP_ENABLE_START_TLS: true, naturalmente.
A dire il vero, di solito non sono un “giocatore d’azzardo” e mi affido più ai fatti; quindi se non vuoi provare, lo capisco perfettamente @onar3d!!
Ho capito. Al momento ho finito le “idee pazze” ed è ora che io mi rilassi per la notte; buona fortuna e speriamo che uno dei membri più intelligenti del team qui abbia delle idee migliori da provare.
Dopo ulteriori tentativi (grazie mille a @IAmGav!), la configurazione del mio Discourse è stata confermata funzionante con un server email diverso, il che esclude diverse possibilità da provare.
Il mio provider di servizi email mi ha risposto con un messaggio di log di errore dal loro lato e un suggerimento:
L’ingegnere ha controllato i log e l’errore rilevato dal loro IP è legato alle impostazioni SSL. Molto probabilmente vengono utilizzate una versione o impostazioni di connessione obsolete.
Prova:
Errore TLS durante la connessione da [95.216.139.49]:33568 SSL_accept: connessione TCP chiusa dal peer
Prova a disattivare la modalità SSL solo per vedere se funziona.
Ho provato impostando DISCOURSE_SMTP_ENABLE_START_TLS su false come suggerito sopra, sia sulla porta 465 che sulla porta 26 (indicata dal mio provider come porta per connessioni non SSL), ma nessuna delle due ha funzionato.
Potrebbe essere perché non ho ancora acquistato un certificato SSL per il dominio thewizardofosc.com? Me ne sono reso conto solo dopo aver letto un po’ di più.
Se non funziona con l’opzione non SSL, allora non funzionerebbe nemmeno con un SSL a pagamento. Il tuo host di posta dovrebbe fornirti un SSL gratuito di Let’s Encrypt.
Potresti considerare di eseguire i tuoi test curl con l’opzione verbose -v abilitata, per poter analizzare completamente l’handshake riuscito; e poi procedere a ritroso partendo da tale analisi.