]> git.r.bdr.sh - rbdr/r.bdr.sh/blame - olden-mail.gmi
Update files from notes
[rbdr/r.bdr.sh] / olden-mail.gmi
CommitLineData
ea658a7b
RBR
1--- title: /olden-mail.html
2--- description: IMAP & SMTP proxy to connect vintage clients to modern e-mail.
3## Olden Mail
4
5ee42efa 5olden-mail is an IMAP & SMTP proxy that allows you to connect to SSL enabled mail servers using insecure plaintext connections.
ea658a7b 6
5ee42efa 7This is of course very insecure, but it's intended to allow vintage computers that don't have SSL capability or ther right ciphers to still be used for e-mail.
ea658a7b
RBR
8
9=> https://git.r.bdr.sh/rbdr/olden-mail ⧇ source
10=> https://git.sr.ht/~rbdr/olden-mail ⧉ mirror
11
12## Install
13
14### Homebrew
15You can install using homebrew.
16
17```
18% brew tap rbdr/apps git@git.sr.ht:~rbdr/homebrew-apps
19% brew install rbdr/apps/olden-mail
20```
21
22### Prebuilt Packages
5ee42efa 23You can find pre-built packages for linux @ build.r.bdr.sh. There you can find a `.tar.gz` that includes only the binary, or `.rpm` and `.deb` distributions for fedora and debian that include a manpage.
ea658a7b
RBR
24
25Binaries are provided for x86_64 and aarch64.
26
5ee42efa 27Unstable releases are built directly from the main branch, while tagged versions have their own release and can be considered more stable.
ea658a7b
RBR
28
29=> gemini://build.r.bdr.sh/olden-mail olden-mail pre-built releases @ gemini
30=> https://build.r.bdr.sh/olden-mail olden-mail pre-built releases @ https
31
32### From Source
33Make sure you have rust and Make installed. Clone the repository, and run:
34
35```
36% make -e profile=release
37```
38
39Then copy the file somewhere in your PATH
40
41```
42% cp ./target/release/olden-mail /usr/local/bin
43```
44
45## Usage
46
47The proxy requires you to set environment variables, but otherwise takes
48no options.
49
5ee42efa
RBR
50* `LOCAL_IMAP_PORT` u16, the port in which the server will listen for IMAP clients. Defaults to 143.
51* `LOCAL_IMAP_BIND_ADDRESS` String, the address on which to listen for IMAP clients. Defaults to 0.0.0.0.
52* `REMOTE_IMAP_PORT` u16, the port to which the server will forward the IMAP messages. Defaults to 993.
53* `REMOTE_IMAP_HOST` String, the host to which the server will forward the IMAP messages. Required.
54
55* `LOCAL_SMTP_PORT` u16, the port in which the server will listen for SMTP clients. Defaults to 25.
56* `LOCAL_SMTP_BIND_ADDRESS` String, the address on which to listen for SMTP clients. Defaults to 0.0.0.0.
57* `REMOTE_SMTP_PORT` u16, the port to which the server will forward the SMTP messages. Defaults to 465.
58* `REMOTE_SMTP_HOST` String, the host to which the server will for SMTP messages. Required.
ea658a7b 59
698bc17e
RBR
60## Middleware
61
62Olden mail comes with middleware that transforms messages before they're sent to the client or server:
63
64- Converts IMAPv3 FIND MAILBOX commands to IMAPv4 LIST commands.
65
66Whenever a command is modified you can see the actual sent text prefixed with `###` in the debug logs.
67
ea658a7b
RBR
68## Changelog
69
698bc17e 70* 1.1.0 Adds middleware to support IMAPv3 FIND MAILBOX
470fb622 71* 1.0.1 Removes noisy debug statements
ea658a7b 72* 1.0.0 Initial Release