Desabilitar starttls ou verificação de certificado não funciona mais

Há muitos posts sobre isso em Support, então agora que parece que encontramos a causa, achei que seria bom criar um tópico em Contribute > Bug sobre isso, contendo apenas o problema real descrito aqui Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability - #47 by RGJ

Resumindo:

Desde a versão beta 4 do 2.9.0, as configurações
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE e DISCOURSE_SMTP_ENABLE_START_TLS não funcionam mais corretamente.

Isso parece estar relacionado à migração para o Rails 7, que atualizou o net-smtp de 0.1.0 para 0.3.1, alterando os padrões desses dois parâmetros de conexão.

A forma como o gem smtp chama o net-smtp não desativa enable_starttls_auto e openssl_verify_mode; ela apenas os ativa quando habilitados.

Relatório relacionado para o gem smtp: SMTP: allow disabling starttls_auto since it's now true by default in Ruby 3 - Pull Request #1435#issuecomment-1044852765 - mikel/mail - GitHub

Tecnicamente, este bug está fora do código do Discourse, pois ocorre no gem smtp, mas como ele está atualmente bifurcado para o Discourse, acho que isso justifica um tópico em Contribute > Bug. Se não puder ser corrigido facilmente, esses parâmetros podem ser removidos da documentação e talvez um aviso de descontinuação possa ser exibido, para que pelo menos toda a confusão desapareça.

10 curtidas