From 322bf26db5ae11cc8b087ca03f45512b1becb451 Mon Sep 17 00:00:00 2001 From: Luca Tagliavini Date: Sat, 25 Feb 2023 18:56:49 +0100 Subject: [PATCH] server: allow non authenticated smtp connections --- server/src/infra/mail.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/server/src/infra/mail.rs b/server/src/infra/mail.rs index c10815c..e446f58 100644 --- a/server/src/infra/mail.rs +++ b/server/src/infra/mail.rs @@ -26,11 +26,7 @@ async fn send_email(to: Mailbox, subject: &str, body: String, options: &MailOpti .header(lettre::message::header::ContentType::TEXT_PLAIN) .body(body), )?; - let creds = Credentials::new( - options.user.clone(), - options.password.unsecure().to_string(), - ); - let mailer = match options.smtp_encryption { + let mut mailer = match options.smtp_encryption { SmtpEncryption::NONE => { AsyncSmtpTransport::::builder_dangerous(&options.server) } @@ -39,12 +35,15 @@ async fn send_email(to: Mailbox, subject: &str, body: String, options: &MailOpti AsyncSmtpTransport::::starttls_relay(&options.server)? } }; - mailer - .credentials(creds) - .port(options.port) - .build() - .send(email) - .await?; + if options.user.as_str() != "" { + let creds = Credentials::new( + options.user.clone(), + options.password.unsecure().to_string(), + ); + mailer = mailer.credentials(creds) + } + + mailer.port(options.port).build().send(email).await?; Ok(()) }