]> git.r.bdr.sh - rbdr/r.bdr.sh/blob - olden-mail.gmi
Update changelog
[rbdr/r.bdr.sh] / olden-mail.gmi
1 --- title: /olden-mail.html
2 --- description: IMAP & SMTP proxy to connect vintage clients to modern e-mail.
3 ## Olden Mail
4
5 olden-mail is an IMAP & SMTP proxy that allows you to connect to SSL enabled mail servers using insecure plaintext connections.
6
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.
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
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.
24
25 Binaries are provided for x86_64 and aarch64.
26
27 Unstable releases are built directly from the main branch, while tagged versions have their own release and can be considered more stable.
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
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.
59
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
68 ## Changelog
69
70 * 1.1.0 Adds middleware to support IMAPv3 FIND MAILBOX
71 * 1.0.1 Removes noisy debug statements
72 * 1.0.0 Initial Release