diff --git a/src/job.rs b/src/job.rs
index cb39b6823..ce6af6d2d 100644
--- a/src/job.rs
+++ b/src/job.rs
@@ -32,7 +32,7 @@ use crate::message::{self, Message, MessageState};
use crate::mimefactory::MimeFactory;
use crate::param::*;
use crate::smtp::Smtp;
-use crate::upload::upload_file;
+use crate::upload::{generate_upload_url, upload_file};
use crate::{scheduler::InterruptInfo, sql};
// results in ~3 weeks for the last backoff timespan
@@ -332,6 +332,17 @@ impl Job {
}
pub(crate) async fn send_msg_to_smtp(&mut self, context: &Context, smtp: &mut Smtp) -> Status {
+ // Upload file to HTTP if set in params.
+ match (
+ self.param.get_upload_url(),
+ self.param.get_upload_path(context),
+ ) {
+ (Some(upload_url), Ok(Some(upload_path))) => {
+ job_try!(upload_file(context, upload_url.to_string(), upload_path).await);
+ }
+ _ => {}
+ }
+
// SMTP server, if not yet done
if !smtp.is_connected().await {
let loginparam = LoginParam::from_database(context, "configured_").await;
@@ -728,25 +739,23 @@ pub async fn send_msg_job(context: &Context, msg_id: MsgId) -> Result