Quindi… ci sto lavorando da circa 6 ore e ho pensato di chiedere un po’ di aiuto.
Ho configurato Discourse su un server, avviato il container e provato a creare il mio primo account amministratore.
Il problema: non ricevo l’email di registrazione.
Cosa ho fatto:
- Ho assicurato che SMTP fosse configurato correttamente nelle impostazioni e ho usato uno strumento di test online SMTP Test Tool per confermare che le impostazioni funzionassero, e funzionano. (usando quel sito)
DISCOURSE_SMTP_ADDRESS: MY_SMTP_HOST
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: MY_SMTP_USERNAME
DISCOURSE_SMTP_PASSWORD: MY_SMTP_PASSWORD
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, valore predefinito true)
-
Ho verificato che sia configurata una sola email per la configurazione iniziale degli account amministratore
-
Ho controllato che SSL funzioni effettivamente (ed è così!)
-
Ho provato due reinstallazioni pulite di Ubuntu seguendo la guida pubblicata online per la configurazione.
-
Ho verificato che non ci siano firewall di rete che blocchino il traffico in uscita o in entrata.
-
Sono riuscito a fare telnet con successo al mio server SMTP dal server che ospita Discourse.
-
Ho impostato correttamente anche questo:
- exec: rails r "SiteSetting.notification_email='noreply@MY_WEB_SITE'"
alla fine di app.yml
Non so cosa altro provare a questo punto. Grazie.
Se esegui discourse-doctor, ti restituisce un errore evidente?
cd /var/discourse
./discourse-doctor
Ah sì, mi sono dimenticato di menzionarlo. Un attimo, lasciami rieseguire per catturare l’output che ho notato.
==================== TEST MAIL ====================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di prova a te stesso.
Indirizzo email per il test mail? ('n' per saltare) [MY_EMAIL]:
Invio mail a MY_EMAIL. . .
Test invio a MY_EMAIL usando smtp.MY_SMTP:587.
Connessione al server SMTP riuscita.
Invio a MY_EMAIL. . .
Invio mail fallito.
Sostituzione: SMTP_PASSWORD
Sostituzione: LETSENCRYPT_ACCOUNT_EMAIL
Sostituzione: DEVELOPER_EMAILS
Sostituzione: DISCOURSE_DB_PASSWORD
Sostituzione: Invio mail a
==================== FATTO! ====================
Vuoi servire una versione pubblicamente accessibile di questo file? (Y/n)
Noto che per qualche motivo “Invio mail fallito” anche se “Connessione al server SMTP riuscita”.
Se la tua password contiene in qualche modo dei caratteri speciali, hai provato a racchiuderla tra virgolette?
Era precedentemente racchiuso tra virgolette, ma stavo seguendo una guida online che non lo aveva tra virgolette; proverò di nuovo con le virgolette doppie ".
Ricostruzione in corso.
Va bene, è di nuovo attivo. Un attimo.
Stesso errore:
==================== TEST MAIL ====================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di prova a te stesso.
Indirizzo email per il test mail? ('n' per saltare) [MY_EMAIL]: MY_EMAIL
Invio di mail a MY_EMAIL. . .
Test dell'invio a MY_EMAIL utilizzando MY_SMTP_SERVER:587.
Connessione al server SMTP riuscita.
Invio a MY_EMAIL. . .
Invio della mail fallito.
Sostituzione: SMTP_PASSWORD
Sostituzione: LETSENCRYPT_ACCOUNT_EMAIL
Sostituzione: DEVELOPER_EMAILS
Sostituzione: DISCOURSE_DB_PASSWORD
Sostituzione: Invio di mail a
==================== FINE! ====================
Vuoi rendere disponibile pubblicamente una versione di questo file? (Y/n)n
Log pubblicamente disponibile non generato.
Puoi esaminare l'output di questo script con
LESS=-Ri less /tmp/discourse-debug.txt
MA PRIMA, assicurati di conoscere i primi tre comandi qui sotto!!!
Comandi da conoscere quando si visualizza il file con il comando sopra (chiamato 'less'):
q -- esci
/error<ENTER> -- cerca la parola 'error'
n -- cerca la prossima occorrenza
g -- vai all'inizio del file
f -- vai avanti di una pagina
b -- vai indietro di una pagina
G -- vai alla fine del file
Ho provato con una password standard senza caratteri, con e senza le virgolette, ma il risultato non è cambiato.
Invio della posta non riuscito.
Ti suggerisco di provare a configurare Mailgun.
Proverò ora. Grazie.
Prima di provarlo, seguirò il link Discourse app.yml doesn't like email password contain "#" - #15 by elijah mettendo la password tra virgolette doppie, e infine impostando una password che non contenga caratteri speciali.
Se non funziona, configurerò Mailgun (come ultima risorsa, poiché il mio server di posta attuale contiene molte email).
PROGRESSO! È apparso un nuovo messaggio di errore dopo aver messo la password tra doppi apici in questo modo "'mypass'"
==================== TEST MAIL ====================
Per un test robusto, ottieni un indirizzo da http://www.mail-tester.com/
Oppure invia semplicemente un messaggio di prova a te stesso.
Indirizzo email per il test mail? ('n' per saltare) [sender_email]: my_email
Invio della mail a my_email. . .
Test dell'invio a my_email utilizzando my_smtp:587.
======================================== ERRORE ========================================
ERRORE INATTESO
SMTP-AUTH richiesto ma frase segreta mancante
====================================== SOLUZIONE =======================================
Questo non è un errore comune. Non esiste una soluzione consigliata!
Si prega di segnalare il messaggio di errore esatto sopra a https://meta.discourse.org/
(E una soluzione, se ne trovi una!)
=======================================================================================
Sostituzione: SMTP_PASSWORD
Sostituzione: LETSENCRYPT_ACCOUNT_EMAIL
Sostituzione: DEVELOPER_EMAILS
Sostituzione: DISCOURSE_DB_PASSWORD
Sostituzione: Invio della mail a
==================== FATTO! ====================
Desideri servire una versione pubblicamente accessibile di questo file? (Y/n)
L’invio manuale di un’email tramite telnet sembra funzionare, ma non quando si utilizzano le email di Discourse, quindi qualcosa sembra non essere a posto.
Nel file production.log ho trovato questo, potrebbe essere la causa?
Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL) sottoscrizione fallita, riconnessione tra 1 secondo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL) sottoscrizione fallita, riconnessione tra 1 secondo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL) sottoscrizione fallita, riconnessione tra 1 secondo. Call stack ["/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/redis-4.1.3/lib/redis/client.rb:362$
Eccezione Job: Errore di connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL)
Ulteriori approfondimenti hanno rilevato Eccezione Job: SSL_connect returned=1 errno=0 state=error: dh key too small, quindi sembra che ci siano problemi con l’SSL del server di posta. Tempo di Mailgun.