sto avviando un forum, sono completamente nuovo di Discourse e lo ospito su DigitalOcean. Per qualche motivo, ho problemi con SMTP o con le porte. Ora, vorrei sapere se hai optato per l’accesso con Google o altri social login e se non ci sono problemi nel caso in cui l’iscrizione o l’accesso locale non siano presenti nel tuo forum.
SMTP è bloccato su DO di default. Se vuoi utilizzare la posta, dovrai trovare un proxy da qualche parte. Molte persone hanno detto che Mailgun funziona bene per Discourse nel cloud, ma non è qualcosa con cui ho esperienza.
Questo potrebbe essere ciò che cerchi:
Sì, puoi utilizzare l’accesso tramite social (Discord, Google, …) o Discourse ID (nessuna configurazione necessaria) senza SMTP. Perderai i riassunti e le notifiche via email, ma se il tuo obiettivo è solo creare una comunità funzionerà bene anche con un coinvolgimento inferiore (i riassunti sono progettati per aiutare la fidelizzazione).
Ottimo, ho provato SendGrid, Mailgun e Resend. Ho lo stesso problema, potrebbe essere un problema di porta; ho provato tutte le porte. Per ora voglio verificare se i login tramite social funzionano bene ed eliminare i login locali.
Ciao @abeen, benvenuto
ho eseguito numerosi installazioni self-hosted con Mailgun e Resend su DigitalOcean (e altri server cloud) - puoi fornire maggiori informazioni sul problema che stai riscontrando? stai modificando il tuo app.yml con le impostazioni appropriate? presumo si tratti di un’installazione standard?
Il DO afferma: «Si prega di prendere atto che, oltre alla porta 25 precedentemente bloccata, le porte 465 e 587 sono state bloccate sui droplet a partire dal 6 marzo 2025. Questo per garantire che i server di DigitalOcean non vengano utilizzati per inviare email di spam».
E vedo nel pannello di amministrazione:
Ci sono 30 attività di posta fallite. Controlla il tuo app.yml e assicurati che le impostazioni del server di posta siano corrette. Visualizza le attività fallite in Sidekiq.
Ho ricreato l’API di resend, ho cambiato la porta in 587, ho provato con la 2525. Nulla funziona per me.
questo è probabilmente il problema principale che ti sta causando difficoltà: stai usando le virgolette curve. I file YML non le gradiscono e solitamente si interrompono. Devi usare virgolette singole o doppie dritte come 'password' o "password".
hai eseguito un’installazione standard su un sottodominio o si tratta di un’installazione sul dominio radice? Se nel primo caso, dovrebbe essere qualcosa come forum.dobato.au o discourse.dobato.au (controlla cosa hai impostato sui tuoi nameserver). A meno che tu non abbia intenzione di eseguire un’installazione sul dominio radice, questa impostazione va corretta.
questa riga è inutile, rimuovila.
anche se Resend lo supporta e dovrebbe funzionare, lo standard è 587.
questa riga non è necessaria; non ha senso forzare il mailer a iniziare STARTTLS - il mailer Ruby sottostante (ActionMailer) utilizza enable_starttls_auto: true, il che significa che aggiornerà automaticamente la connessione a TLS se il server (Resend) lo supporta. Cancella questa riga.
La tua sezione app.yml corretta dovrebbe essere così:
DISCOURSE_HOSTNAME: dobato.au # (verifica questo - potrebbe essere errato!)
DISCOURSE_DEVELOPER_EMAILS: myemail@outlook.com
DISCOURSE_SMTP_ADDRESS: smtp.resend.com
DISCOURSE_SMTP_USER_NAME: resend
DISCOURSE_SMTP_PASSWORD: "re_actual_api_key_here" # nota le virgolette dritte!
DISCOURSE_SMTP_PORT: 587
DISCOURSE_NOTIFICATION_EMAIL: noreply@dobato.au
Oh, mi sono dimenticato di DO lol. Me ne sono andato da un po’. Nella mia testa pensavo a Resend e Hetzner. Quindi sì, usa 2525 (ora ricordo di averlo cambiato anche durante la migrazione).
Edit: ho corretto il mio post. Grazie Jakee
Oltre all’ottima consulenza sopra riportata, eseguire rake emails:test (vedi Troubleshoot email on a new Discourse install) per visualizzare immediatamente l’errore potrebbe essere d’aiuto.
Il mio sito si è bloccato ora. È un nuovo sito con pochi membri, non sono sicuro di come scaricare le mie pagine personalizzate e i membri. Non voglio affatto usare SMTP.
Sì, il tuo file yml è probabilmente danneggiato. Posta qui l’intero contenuto (senza indirizzi email e password). In realtà non dovrebbe essere così difficile mettere tutto in funzione.
Per pura curiosità, che dimensione di droplet stai utilizzando su DigitalOcean?
Sei riuscito a verificare se il tuo server dei nomi è configurato correttamente?
Capisco. È possibile ospitare Discourse su Lightsail con SES (alcuni utenti qui lo fanno). Oppure puoi provare la porta 2525, se non l’hai già fatto. Ma se vuoi evitare questi problemi legati alle porte, potresti passare a un altro hosting, come Hetzner o Lightsail.