From 5bc877d3fa9025180020d0b25104cc22333e6252 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 27 Jan 2025 23:02:41 +0100 Subject: Send the MAILBOX OK --- README.md | 12 ++++++++++++ src/middleware/find_mailboxes_compatibility.rs | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/README.md b/README.md index fa87603..c494ef5 100644 --- a/README.md +++ b/README.md @@ -59,8 +59,20 @@ environment variables) % REMOTE_IMAP_HOST=imap.coolmailsite.example REMOTE_SMTP_HOST=smtp.coolmailsite.example olden-mail ``` +## Middleware + +In order to work with some older clients, middleware allow transformation of +messages. The current middleware are: + +- `FindMailboxesCompatibility` - Transforms IMAPv3 FIND MAILBOX commands to + IMAPv4 LIST commands. + ## Debugging You can control how much it prints by setting `RUST_LOG`. Setting it to `debug` will output the whole protocol stream. The default level is `info`. + +Messages coming from the client are prefixed with `>>>`, and messages coming +from the server with `<<<`. If a middleware modified a command, you'll see +the message that was actually sent prefixed with `###`. diff --git a/src/middleware/find_mailboxes_compatibility.rs b/src/middleware/find_mailboxes_compatibility.rs index daf0dc0..42db396 100644 --- a/src/middleware/find_mailboxes_compatibility.rs +++ b/src/middleware/find_mailboxes_compatibility.rs @@ -56,6 +56,10 @@ impl Middleware for FindMailboxesCompatibility { } } + if line.contains("OK") { + return Some("{tag} OK MAILBOX Completed.".to_string()); + } + Some(line.to_string()) }) .collect(); -- cgit