Ci sono caratteri da evitare nella password SMTP? Se sì, la documentazione potrebbe menzionarlo.
La mia password iniziale non ha funzionato e ha causato un errore. Ho cambiato la password (modificando app.yml) e poi ho ricostruito l’app. Dopodiché sono riuscito a ricevere l’email “Conferma il tuo nuovo account”.
Il carattere sospetto nell’email originale era: ]
Per la nuova password, ho lasciato che Mailgun la generasse per me.
È probabile che i caratteri speciali come ] siano meglio evitarli. Ma dato il post di Jay sopra avrei pensato che avrebbe funzionato, proprio come funziona l’inclusione di %.
Per caso avevi delle virgolette nella password? Penso che \" sia una di quelle impossibili da usare perché racchiude la password, a meno che tu non modifichi app.yml per aggiungere un escape \\.
Se questa non è la risposta, allora probabilmente dobbiamo aggiornare questo argomento della documentazione per indicare quali caratteri speciali evitare! O aggiornare l’installer per aggiungere un avviso?
Senza guardare più attentamente, direi di cambiare la password in modo che non contenga caratteri strani o di modificare app.yml manualmente e racchiudere la password tra virgolette singole. discourse-setup è uno strumento piuttosto grezzo che non è progettato per tutte le situazioni.
Ho aggiornato l’OP per annotare esplicitamente che la password non può includere caratteri speciali. Va bene così?
Lavoriamo per incorporare qualsiasi altro consiglio nella guida ed eliminiamo tutte queste risposte. Scorrendo, non mi sono chiare molte di esse. Ad esempio, la primissima risposta suggerisce che sia stata necessaria una ricompilazione dopo l’aggiornamento delle impostazioni SMTP, il che contraddice la guida.
Suggerimento per il miglioramento della documentazione:
Quando si configura SMTP con un provider esterno (stavo usando SendGrid) non ricevevo le email di registrazione. L’esecuzione di discourse-doctor ha identificato l’errore: Reason: 550 The from address does not match a verified Sender Identity.
Sebbene avessi autenticato il dominio di primo livello (example.com) per l’invio in SendGrid, non avevo ancora autenticato il sottodominio di discourse (discourse.example.com) e quindi SendGrid stava rifiutando le chiamate API.
Sebbene mi ci siano voluti solo circa 15 minuti per capirlo, ritengo che sarebbe utile includere un commento aggiuntivo in app.yml e nello script di installazione che renda questo più chiaro per ridurre l’attrito per i nuovi utenti che installano Discourse in futuro. Sarebbe utile anche un riferimento diretto alla pagina di risoluzione dei problemi.
Qualcosa del tipo:
# La maggior parte dei provider SMTP richiederà un dominio autenticato o un indirizzo email autenticato
# per inviare email. Assicurati di aver autenticato il tuo dominio di invio
# (example.com) , il sottodominio (discourse.example.com) e l'indirizzo email `notifications`
# con il tuo provider SMTP prima di registrare nuovi utenti per garantire la recapitalità delle email.
#
# Il comando `discourse-doctor` può assistere nel testare la configurazione della tua email.
# Vedi: https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install
Solo un avviso che da marzo/aprile 2025, DigitalOcean blocca le porte SMTP su tutti i droplet per impostazione predefinita. Possono rimuovere la restrizione se presenti un ticket di supporto, ma sembra che venga gestita caso per caso:
Spero che questo possa evitare ad altri di impazzire chiedendosi perché le loro email non venivano inviate quando tutto sembrava configurato correttamente!