From 4e021b228c2422168c1449b423d5363cecc3b2e9 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sat, 2 Sep 2023 16:51:18 +0200 Subject: [PATCH] Add parameter to disable IMAP All Messages folder --- crates/imap/src/core/mod.rs | 1 + crates/imap/src/lib.rs | 1 + crates/imap/src/op/list.rs | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/imap/src/core/mod.rs b/crates/imap/src/core/mod.rs index 72fce19c..01fd1622 100644 --- a/crates/imap/src/core/mod.rs +++ b/crates/imap/src/core/mod.rs @@ -75,6 +75,7 @@ pub struct IMAP { pub max_auth_failures: u32, pub name_shared: String, pub name_all: String, + pub name_all_enable: bool, pub allow_plain_auth: bool, pub enable_uidplus: bool, diff --git a/crates/imap/src/lib.rs b/crates/imap/src/lib.rs index 2ba6bd7a..9da16038 100644 --- a/crates/imap/src/lib.rs +++ b/crates/imap/src/lib.rs @@ -47,6 +47,7 @@ impl IMAP { .value("imap.folders.name.shared") .unwrap_or("Shared Folders") .to_string(), + name_all_enable: config.property_or_static("imap.folders.all-messages", "true")?, name_all: config .value("imap.folders.name.all") .unwrap_or("All Mail") diff --git a/crates/imap/src/op/list.rs b/crates/imap/src/op/list.rs index d2b80caf..bc1f1c75 100644 --- a/crates/imap/src/op/list.rs +++ b/crates/imap/src/op/list.rs @@ -175,7 +175,10 @@ impl SessionData { let mut list_items = Vec::with_capacity(10); // Add "All Mail" folder - if !filter_subscribed && matches_pattern(&patterns, &self.imap.name_all) { + if self.imap.name_all_enable + && !filter_subscribed + && matches_pattern(&patterns, &self.imap.name_all) + { list_items.push(ListItem { mailbox_name: self.imap.name_all.clone(), attributes: vec![Attribute::All, Attribute::NoInferiors],