Mailgun a volte non invia email

Ciao a tutti, sono di nuovo io :slight_smile:
Ho notato che quando nuovi utenti si registrano sul nostro forum, a volte non ricevono l’email.

Nella seguente immagine, potete vedere che alcuni utenti si sono registrati 3 giorni fa e addirittura 7 giorni fa, ma non hanno ricevuto l’email di registrazione (il riquadro rosso indica “ultima volta che l’email è stata inviata”).

So che la configurazione delle email è corretta perché riesco a ricevere email (ad esempio, posso testarlo cliccando su “password dimenticata” e mi verrà inviata un’email con le istruzioni). So che Mailgun è un’azienda diversa, ma non sono sicuro che il problema sia da parte loro. Cosa potrebbe essere?

MODIFICA: Ho appena provato a registrarmi io stesso e il sistema dice che Discourse mi ha inviato un’email di registrazione, ma non la trovo nella mia casella di posta (ho controllato tutte le cartelle, spam e cestino). Ho anche provato a controllare in email->inviati nell’area amministrativa e non ho visto “iscrizione” per questo utente. Per favore, aiutatemi perché sembra che i nuovi utenti non riescano a registrarsi sul nostro forum.

Controlla i log di Mailgun.

Grazie per la risposta rapida :slight_smile:
Ho controllato i log, non c’è traccia di alcun tentativo di inviare l’email di registrazione. Ecco perché pensavo che potesse essere un problema legato a Discourse (forse non riesce a chiedere a Mailgun di inviare l’email?). Hai qualche idea?

Sei sicuro che il tuo provider di hosting del server non stia bloccando la porta utilizzata per le e-mail?

Alcuni provider (incluso DigitalOcean) sono noti per bloccare le porte 25, 465 e 587 per prevenire lo spam da nuovi server. Se riscontri questo problema, prova a utilizzare Mailgun con la porta 2525 (modifica la porta in app.yml e ricostruisci).

Un modo semplice per verificare se la tua porta è bloccata è usare il comando telnet:
telnet smtp.mailgun.com <porta>

Grazie per la risposta.
Sfortunatamente, non ho telnet installato. Ho provato a cambiare la porta in 2525 (da 587), ma sembra che non invii ancora le email di iscrizione. Uso DigitalOcean e ho visto che potrebbe essere un problema, ma se lo bloccano, non dovrebbe Discourse segnalarlo in admin->mail logs nella sezione degli errori?

Stai digitando talnet?

Cosa vedi in /sidekiq?

Hai riavviato di recente?

Sì, l’ho fatto. Ho anche provato which talnet, ma non restituisce nulla. (Non è un comando Linux oltre ad essere un protocollo?)

Ho provato a controllare /sidekiq (ho visto quel suggerimento in discussioni simili). Nessun errore e nessuna menzione di tentativi di inviare una mail di attivazione. Ho riavviato di recente; ho anche provato a cambiare la porta della posta in 2525, come suggerito in precedenza.

È

telnet

Non talnet

Oh, mi dispiace, un errore così stupido :sweat_smile:
Sembra che siano entrambi validi:

Quindi non è un problema di DigitalOcean o Mailgun, giusto?.

Né si rivela un problema da Discourse.
Puoi controllare example.com/logs per vedere se c’è qualcosa di specifico relativo alle email? Controlla anche /sidekiq per verificare se ci sono lavori falliti.

Nei log ho:

image

Non penso che siano correlati al problema della posta, ma se qualcuno sa come risolverli, sarei felice di saperlo.
In sidekiq non vedo alcun lavoro fallito o morto.
A proposito, volevo solo dire grazie a tutti per il tentativo di aiutare :slight_smile:

Sembra strano e non riesco proprio a pensare a una ragione. Riesci a vedere le email nei log di Mailgun? Altre email funzionano correttamente? Riesci a inviare email di test di Discourse a tali indirizzi senza problemi?

Le uniche email che riesco a vedere inviate sono:

L’ultimo rapporto di riepilogo automatico mi è stato inviato due giorni fa (al momento siamo un forum piccolo, quindi non ci sono molte email).
Ho appena provato a testare l’invio di questo rapporto a me stesso e mi arriva effettivamente l’email di riepilogo (a proposito, l’email di riepilogo viene inviata solo agli amministratori, giusto? perché ho provato con un utente normale e non ha funzionato).
Esiste un modo per inviare un’email di prova a un indirizzo non amministratore?

Aha! Vedo il problema qui!

Hai impostato l’impostazione del sito disable_emails?

Se è impostata su Sì o Solo per il personale, stai bloccando le email lato Discourse, quindi di fatto non vengono inviate a nessuno tranne che ai membri dello staff esistenti.

Sì, è proprio questo!
Non ci avevo pensato (forse perché le mie impostazioni sono scritte a metà in inglese e a metà in ebraico).
Questa è la risposta corretta. Perfetto, ora funziona :sweat_smile:
Grazie a tutti per l’aiuto :slight_smile: