SSL/TLS para porta 465 (Net::ReadTimeout) - solução não documentada

Tentei configurar o e-mail com um servidor cpanel. Falhei por várias horas.
Isso funcionou em app.yml:

DISCOURSE_SMTP_FORCE_TLS: true

Como um novo administrador, fico pensando sobre esta configuração:

DISCOURSE_SMTP_ENABLE_START_TLS: true

Qual é a diferença? Por que um funciona e o outro não? E se for o caso: Por que \nDISCOURSE_SMTP_FORCE_TLS não estaria lá também?

Parece que o Thunderbird (cliente de e-mail) mostra estas três opções: sem criptografia, STARTTLS e SSL/TLS. Então, fiquei pensando se DISCOURSE_SMTP_FORCE_TLS implica SSL/TLS, se isso poderia estar no template. Ou talvez não?

Como fica a documentação dessas opções? Seria bom? Existe uma política de “manter os templates pequenos”?
Por exemplo, fiquei um pouco confuso com DISCOURSE_SMTP_ADDRESS e DISCOURSE_SMTP_DOMAIN, já que, por exemplo, o curl para enviar e-mails não precisa de DISCOURSE_SMTP_DOMAIN como parâmetro.

2 curtidas

Existem duas maneiras de fazer SSL com SMTP.

  1. Conecte-se normalmente, geralmente pela porta 25 ou 587, e emita um comando STARTTLS. É para isso que serve DISCOURSE_SMTP_ENABLE_START_TLS.
  2. Conecte-se com SSL desde o início, geralmente pela porta 465. É para isso que serve DISCOURSE_SMTP_FORCE_TLS.
3 curtidas

Dando seguimento a isto após Reworking the emails:test rake task output DISCOURSE_SMTP_ENABLE_START_TLS não deve ser substituído, mesmo que você esteja usando TLS implícito (DISCOURSE_SMTP_FORCE_TLS).