From: Ruben Beltran del Rio Date: Mon, 27 Jan 2025 22:02:41 +0000 (+0100) Subject: Send the MAILBOX OK X-Git-Tag: 1.1.0~3 X-Git-Url: https://git.r.bdr.sh/rbdr/olden-mail/commitdiff_plain/5bc877d3fa9025180020d0b25104cc22333e6252?ds=sidebyside Send the MAILBOX OK --- 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();