diff --git a/src/dc_receive_imf.rs b/src/dc_receive_imf.rs index 8a517d2ae..a99a14c55 100644 --- a/src/dc_receive_imf.rs +++ b/src/dc_receive_imf.rs @@ -192,39 +192,23 @@ pub fn dc_receive_imf( }; } - if needs_delete_job && !created_db_entries.is_empty() { - for db_entry in &created_db_entries { - job_add( - context, - Action::DeleteMsgOnImap, - db_entry.1.to_u32() as i32, - Params::new(), - 0, - ); - } - } else { - // Get user-configured server deletion - let delete_server_after = context.get_config_delete_server_after(); + // Get user-configured server deletion + let delete_server_after = context.get_config_delete_server_after(); - if delete_server_after != Some(0) { - // Move message if we don't delete it immediately. - context.do_heuristics_moves(server_folder.as_ref(), insert_msg_id); - } - - if let Some(delete_server_after) = delete_server_after { - info!( - context, - "Scheduling message deletion in {} seconds", delete_server_after - ); + if !created_db_entries.is_empty() { + if needs_delete_job || delete_server_after == Some(0) { for db_entry in &created_db_entries { job_add( context, Action::DeleteMsgOnImap, db_entry.1.to_u32() as i32, Params::new(), - delete_server_after as i64, + 0, ); } + } else { + // Move message if we don't delete it immediately. + context.do_heuristics_moves(server_folder.as_ref(), insert_msg_id); } } diff --git a/src/imap/mod.rs b/src/imap/mod.rs index b7de59b5c..554fd8e1c 100644 --- a/src/imap/mod.rs +++ b/src/imap/mod.rs @@ -1320,35 +1320,6 @@ fn precheck_imf(context: &Context, rfc724_mid: &str, server_folder: &str, server 0, ); } - - if let Some(delete_server_after) = delete_server_after { - info!( - context, - "Scheduling BCC-self deletion in {} seconds", delete_server_after - ); - - let msg_ids = match message::get_all_by_rfc724_mid(context, &rfc724_mid) { - Err(err) => { - warn!( - context, - "Cannot get all database records for Message-ID {}: {}", - &rfc724_mid, - err - ); - vec![msg_id] // Remove at least the MsgId we know about - } - Ok(msg_ids) => msg_ids, - }; - for part_msg_id in msg_ids { - job_add( - context, - Action::DeleteMsgOnImap, - part_msg_id.to_u32() as i32, - Params::new(), - delete_server_after as i64, - ); - } - } } else if old_server_folder != server_folder { info!(context, "[move] detected moved message {}", rfc724_mid,); } diff --git a/src/message.rs b/src/message.rs index c2fe89c17..58a8893e6 100644 --- a/src/message.rs +++ b/src/message.rs @@ -1410,28 +1410,6 @@ pub(crate) fn rfc724_mid_exists( .map_err(Into::into) } -/// Returns all MsgIds corresponding to Message-ID -pub(crate) fn get_all_by_rfc724_mid( - context: &Context, - rfc724_mid: &str, -) -> Result, Error> { - ensure!(!rfc724_mid.is_empty(), "empty rfc724_mid"); - - let msg_ids = context.sql.query_map( - "SELECT id FROM msgs WHERE rfc724_mid=?", - params![rfc724_mid], - |row| row.get::<_, MsgId>("id"), - |ids| { - let mut ret: Vec = Vec::new(); - for id in ids { - ret.push(id?); - } - Ok(ret) - }, - )?; - Ok(msg_ids) -} - pub fn update_server_uid( context: &Context, rfc724_mid: &str,