Ciao,
da diverse settimane l’invio di email dalla mia istanza Discourse non funziona. Le impostazioni SMTP non sono cambiate, il test curl funziona ancora ma è notevolmente lento. Il server SMTP del nostro hoster (che dobbiamo utilizzare per inviare email) ha un tempo di invio costante di 7 secondi.
cat testmail | curl -vvv --url 'smtp://smtp.<HOST>:587' --mail-from mail@<DOMAIN> --mail-rcpt <ME> --user "mail@<DOMAIN>:<PW>" -T -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying <IP>...
* Connected to smtp.<HOST> (<IP>) port 587 (#0)
< 220 mailproxy1.<HOST> Dovecot ready.
> EHLO ecm2
< 250-mailproxy1.<HOST>
< 250-8BITMIME
< 250-AUTH PLAIN LOGIN
< 250-BURL imap
< 250-ENHANCEDSTATUSCODES
< 250-SIZE
< 250-STARTTLS
< 250 PIPELINING
> AUTH PLAIN
< 334
> xxxxxx=
0 0 0 0 0 0 0 0 --:--:-- 0:00:06 --:--:-- 0< 235 2.7.0 Authentication successful
0 0 0 0 0 0 0 0 --:--:-- 0:00:07 --:--:-- 0> MAIL FROM:<mail@<DOMAIN>>
< 250 2.1.0 Ok
> RCPT TO:<ME>
< 250 2.1.5 Ok
> DATA
< 354 End data with <CR><LF>.<CR><LF>
} [89 bytes data]
100 89 0 0 0 89 0 11 --:--:-- 0:00:07 --:--:-- 20< 250 2.0.0 Ok: queued as 356C3288C85
100 89 0 0 0 89 0 11 --:--:-- 0:00:07 --:--:-- 26
* Connection #0 to host smtp.<HOST> left intact
Ho confrontato questo con il nostro server di posta interno con meno di 1 secondo per email. I 7 secondi dell’hoster di posta non sarebbero un vero problema, ma non sono riuscito a identificare un’impostazione per aumentare il timeout (apparentemente hardcoded?) di 5 secondi. L’open_timeout e, a mio parere, il più rilevante read_timeout sono visibili anche nell’interfaccia di test su /admin/email:
- I tempi nel container dell’app Docker sono identici a un test locale o a un test sull’host Docker.
- Le email inviate tramite cURL vengono consegnate correttamente (dopo l’attesa di 7 secondi + un batter d’occhio).
- Per motivi di privacy, i soliti workaround come sendgrid, mailgun, ecc. purtroppo non sono un’opzione.
- Forse un passaggio ad
ActionMailer7.0.x ha innescato questo problema per me?- rails/actionmailer/CHANGELOG.md at v7.0.3.1 · rails/rails · GitHub
-
Configura un default di 5 sia per
open_timeoutche perread_timeoutper le impostazioni SMTP.
Grazie per qualsiasi idea su come configurare read_timeout.

