mirror of
https://github.com/chatmail/core.git
synced 2026-05-03 05:16:28 +03:00
Fix detection of Trash, Junk, All etc. folders
imap_proto has been updated, so attributes like `\All`, `\Junk` from RFC 3501 and RFC 6154 are no longer considered extensions.
This commit is contained in:
@@ -7,6 +7,7 @@
|
|||||||
### API-Changes
|
### API-Changes
|
||||||
|
|
||||||
### Fixes
|
### Fixes
|
||||||
|
- fix detection of "All mail", "Trash", "Junk" etc folders. #3760
|
||||||
|
|
||||||
|
|
||||||
## 1.101.0
|
## 1.101.0
|
||||||
|
|||||||
17
src/imap.rs
17
src/imap.rs
@@ -1949,16 +1949,21 @@ fn get_folder_meaning_by_name(folder_name: &str) -> FolderMeaning {
|
|||||||
|
|
||||||
fn get_folder_meaning(folder_name: &Name) -> FolderMeaning {
|
fn get_folder_meaning(folder_name: &Name) -> FolderMeaning {
|
||||||
for attr in folder_name.attributes() {
|
for attr in folder_name.attributes() {
|
||||||
if let NameAttribute::Extension(ref label) = attr {
|
match attr {
|
||||||
|
NameAttribute::Trash => return FolderMeaning::Other,
|
||||||
|
NameAttribute::Sent => return FolderMeaning::Sent,
|
||||||
|
NameAttribute::Junk => return FolderMeaning::Spam,
|
||||||
|
NameAttribute::Drafts => return FolderMeaning::Drafts,
|
||||||
|
NameAttribute::All | NameAttribute::Flagged => return FolderMeaning::Virtual,
|
||||||
|
NameAttribute::Extension(ref label) => {
|
||||||
match label.as_ref() {
|
match label.as_ref() {
|
||||||
"\\Trash" => return FolderMeaning::Other,
|
"\\Spam" => return FolderMeaning::Spam,
|
||||||
"\\Sent" => return FolderMeaning::Sent,
|
"\\Important" => return FolderMeaning::Virtual,
|
||||||
"\\Spam" | "\\Junk" => return FolderMeaning::Spam,
|
|
||||||
"\\Drafts" => return FolderMeaning::Drafts,
|
|
||||||
"\\All" | "\\Important" | "\\Flagged" => return FolderMeaning::Virtual,
|
|
||||||
_ => {}
|
_ => {}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
FolderMeaning::Unknown
|
FolderMeaning::Unknown
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user