1
0
Fork 0

Use opportunistic TLS in SMTP connections

If SSL is disabled, the SMTP ClientSecurity of the lettre crate
defaults to None, that is, an insecure connection. This is changed to
Opportunistic, which uses TLS if available. If TLS is not available,
the insecure connection is used (i.e., this change is backward
compatible).
Dieser Commit ist enthalten in:
Samuel Leweke 2020-03-12 11:26:54 +01:00
Ursprung 70f3ab8ec3
Commit 5d3b765a23

Datei anzeigen

@ -18,21 +18,21 @@ use chrono::NaiveDateTime;
fn mailer() -> SmtpTransport {
let host = CONFIG.smtp_host().unwrap();
let tls = TlsConnector::builder()
.min_protocol_version(Some(Protocol::Tlsv11))
.build()
.unwrap();
let tls_params = ClientTlsParameters::new(host.clone(), tls);
let client_security = if CONFIG.smtp_ssl() {
let tls = TlsConnector::builder()
.min_protocol_version(Some(Protocol::Tlsv11))
.build()
.unwrap();
let params = ClientTlsParameters::new(host.clone(), tls);
if CONFIG.smtp_explicit_tls() {
ClientSecurity::Wrapper(params)
ClientSecurity::Wrapper(tls_params)
} else {
ClientSecurity::Required(params)
ClientSecurity::Required(tls_params)
}
} else {
ClientSecurity::None
ClientSecurity::Opportunistic(tls_params)
};
use std::time::Duration;