X-Git-Url: https://git.r.bdr.sh/rbdr/olden-mail/blobdiff_plain/768227f7aa31e2930e1ff2641c24fbf06fc339fe..refs/heads/main:/README.md diff --git a/README.md b/README.md index 6c580f7..c494ef5 100644 --- a/README.md +++ b/README.md @@ -35,32 +35,44 @@ The proxy requires you to set environment variables, but otherwise takes no options. * `LOCAL_IMAP_PORT` u16, the port in which the server will listen for -IMAP clients. Defaults to 143. + IMAP clients. Defaults to 143. * `LOCAL_IMAP_BIND_ADDRESS` String, the address on which to listen for -IMAP clients. Defaults to 0.0.0.0. + IMAP clients. Defaults to 0.0.0.0. * `REMOTE_IMAP_PORT` u16, the port to which the server will forward the -IMAP messages. Defaults to 993. + IMAP messages. Defaults to 993. * `REMOTE_IMAP_HOST` String, the host to which the server will forward the -IMAP messages. Required. + IMAP messages. Required. * `LOCAL_SMTP_PORT` u16, the port in which the server will listen for -SMTP clients. Defaults to 25. + SMTP clients. Defaults to 25. * `LOCAL_SMTP_BIND_ADDRESS` String, the address on which to listen for -SMTP clients. Defaults to 0.0.0.0. + SMTP clients. Defaults to 0.0.0.0. * `REMOTE_SMTP_PORT` u16, the port to which the server will forward the -SMTP messages. Defaults to 465. + SMTP messages. Defaults to 465. * `REMOTE_SMTP_HOST` String, the host to which the server will forward the -SMTP messages. Required. + SMTP messages. Required. This means the minimum invocation is this (Shown here with inline environment variables) ``` -% REMOTE_IMAP_DOMAIN=imap.coolmailsite.example REMOTE_SMTP_DOMAIN=smtp.coolmailsite.example olden-mail +% 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 `###`.