diff --git a/src/job.rs b/src/job.rs index 49a109169..edc026ce3 100644 --- a/src/job.rs +++ b/src/job.rs @@ -200,7 +200,7 @@ impl Job { info!(context, "smtp-sending out mime message:"); println!("{}", String::from_utf8_lossy(&body)); } - match smtp.send(context, recipients_list, body, self.job_id) { + match task::block_on(smtp.send(context, recipients_list, body, self.job_id)) { Err(crate::smtp::send::Error::SendError(err)) => { // Remote error, retry later. smtp.disconnect(); diff --git a/src/smtp/send.rs b/src/smtp/send.rs index fcfbf2d68..29975cce8 100644 --- a/src/smtp/send.rs +++ b/src/smtp/send.rs @@ -3,8 +3,6 @@ use super::Smtp; use async_smtp::*; -use async_std::task; - use crate::context::Context; use crate::events::Event; @@ -23,7 +21,7 @@ pub enum Error { impl Smtp { /// Send a prepared mail to recipients. /// On successful send out Ok() is returned. - pub fn send( + pub async fn send( &mut self, context: &Context, recipients: Vec, @@ -47,7 +45,7 @@ impl Smtp { message, ); - task::block_on(transport.send(mail)).map_err(Error::SendError)?; + transport.send(mail).await.map_err(Error::SendError)?; context.call_cb(Event::SmtpMessageSent(format!( "Message len={} was smtp-sent to {}",