]>
Commit | Line | Data |
---|---|---|
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 | 5 | olden-mail is an IMAP & SMTP proxy that allows you to connect to SSL enabled mail servers using insecure plaintext connections. |
ea658a7b | 6 | |
5ee42efa | 7 | This 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 | |
15 | You 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 | 23 | You 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 | |
25 | Binaries are provided for x86_64 and aarch64. | |
26 | ||
5ee42efa | 27 | Unstable 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 | |
33 | Make sure you have rust and Make installed. Clone the repository, and run: | |
34 | ||
35 | ``` | |
36 | % make -e profile=release | |
37 | ``` | |
38 | ||
39 | Then copy the file somewhere in your PATH | |
40 | ||
41 | ``` | |
42 | % cp ./target/release/olden-mail /usr/local/bin | |
43 | ``` | |
44 | ||
45 | ## Usage | |
46 | ||
47 | The proxy requires you to set environment variables, but otherwise takes | |
48 | no 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 | ||
62 | Olden 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 | ||
66 | Whenever 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 |