X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Futils%2Fsrc%2Femail.rs;h=fba624666e7c45283de569001889f4c5f88917f0;hb=934f72511e3ef1a8d6fef6521bccc52b732f0a10;hp=62cbe3c5e046ad890a352db1eefaed61db221bcd;hpb=3dd2fd0f7ff24509564bf098817c6152254edc1a;p=lemmy.git diff --git a/crates/utils/src/email.rs b/crates/utils/src/email.rs index 62cbe3c5..fba62466 100644 --- a/crates/utils/src/email.rs +++ b/crates/utils/src/email.rs @@ -4,9 +4,8 @@ use lettre::{ message::{Mailbox, MultiPart}, transport::smtp::{authentication::Credentials, extension::ClientId}, Address, + AsyncTransport, Message, - SmtpTransport, - Transport, }; use std::str::FromStr; use uuid::Uuid; @@ -15,7 +14,9 @@ pub mod translations { rosetta_i18n::include_translations!(); } -pub fn send_email( +type AsyncSmtpTransport = lettre::AsyncSmtpTransport; + +pub async fn send_email( subject: &str, to_email: &str, to_username: &str, @@ -69,11 +70,11 @@ pub fn send_email( // is bad. // Set the TLS - let builder_dangerous = SmtpTransport::builder_dangerous(smtp_server).port(smtp_port); + let builder_dangerous = AsyncSmtpTransport::builder_dangerous(smtp_server).port(smtp_port); let mut builder = match email_config.tls_type.as_str() { - "starttls" => SmtpTransport::starttls_relay(smtp_server)?, - "tls" => SmtpTransport::relay(smtp_server)?, + "starttls" => AsyncSmtpTransport::starttls_relay(smtp_server)?, + "tls" => AsyncSmtpTransport::relay(smtp_server)?, _ => builder_dangerous, }; @@ -88,7 +89,7 @@ pub fn send_email( let mailer = builder.hello_name(ClientId::Domain(domain)).build(); - let result = mailer.send(&email); + let result = mailer.send(email).await; match result { Ok(_) => Ok(()),