From a8e9a1fbe520c47cb593ac0ddf618096de2ced9d Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Sun, 8 Dec 2019 21:15:07 +0300 Subject: [PATCH] Make Smtp.send async --- src/job.rs | 2 +- src/smtp/send.rs | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) 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 {}",