Disabilitare STARTTLS o la verifica del certificato non funziona più

Ci sono molti post su questo argomento in Support, quindi ora che sembra che abbiamo trovato la causa, ho pensato che potesse essere utile creare un argomento Contribute > Bug a riguardo, contenente solo il problema effettivo descritto qui: Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability - #47 by RGJ

In breve:

Dalla versione beta 4 di 2.9.0 le impostazioni
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE e DISCOURSE_SMTP_ENABLE_START_TLS non funzionano più correttamente.

Questo sembra essere correlato al passaggio a Rails 7, che ha aggiornato net-smtp dalla versione 0.1.0 alla 0.3.1, modificando i valori predefiniti per questi due parametri di connessione.

Il modo in cui il gem smtp chiama net-smtp non disabilita enable_starttls_auto e openssl_verify_mode, ma li abilita solo se esplicitamente richiesti.

Segnalazione correlata per il 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

Tecnicalmente, questo bug si trova al di fuori del codice di Discourse, poiché avviene nel gem smtp, ma dato che al momento è stato forkato per Discourse, penso che sia opportuno creare un argomento Contribute > Bug. Se non può essere risolto facilmente, questi parametri potrebbero essere rimossi dalla documentazione e forse potrebbe essere mostrato un avviso di deprecazione, in modo da eliminare almeno tutta la confusione.

10 Mi Piace