Olá,
há algumas semanas o envio de e-mails da minha instância Discourse falha. As configurações SMTP não foram alteradas, o teste com curl ainda funciona, mas notavelmente lento. O servidor SMTP do nosso hoster (que precisamos para enviar e-mails) tem um tempo de envio consistente de 7 segundos.
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
Comparei isso com nosso servidor de e-mail interno com menos de 1 segundo por e-mail. Os 7 segundos do hoster de e-mail não seriam um problema real, mas não consegui identificar uma configuração para aumentar o tempo limite (aparentemente codificado?) de 5 segundos. O open_timeout e, ao que me parece, o mais relevante read_timeout também são visíveis na interface de teste em /admin/email:
- Os tempos no contêiner do aplicativo Docker são idênticos a um teste local ou a um teste no host Docker.
- E-mails enviados pelo
cURLsão entregues corretamente (após os 7 segundos de espera + um piscar de olhos). - Por motivos de privacidade, as soluções alternativas usuais como SendGrid, Mailgun, etc. infelizmente não são uma opção.
- Talvez uma mudança para
ActionMailer7.0.x tenha desencadeado esse problema para mim?- rails/actionmailer/CHANGELOG.md at v7.0.3.1 · rails/rails · GitHub
-
Configura um padrão de 5 para
open_timeouteread_timeoutpara Configurações SMTP.
Obrigado por qualquer ideia sobre como configurar read_timeout.

