]> git.r.bdr.sh - rbdr/olden-mail/blob - README.md
Add CONTRIBUTING and LICENSE
[rbdr/olden-mail] / README.md
1 # olden-mail
2
3 `olden-mail` is an IMAP & SMTP proxy that allows you to connect to SSL
4 enabled mail servers using insecure plaintext connections.
5
6 This is of course very insecure, but it's intended to allow vintage
7 computers that don't have SSL capability or ther right ciphers to still
8 be used for e-mail.
9
10 ## Installation
11
12 ### Pre-built binaries and packages
13
14 Binaries are available for macos and linux, for both aarch64 and x86_64
15 from https://build.r.bdr.sh/olden-mail, including `.deb` and `.rpm`
16 packages.
17
18 ### Homebrew
19
20 You can also install this on macos via homebrew.
21
22 ```
23 % brew tap rbdr/apps git@git.sr.ht:~rbdr/homebrew-apps
24 % brew install rbdr/apps/olden-mail
25 ```
26
27 ### From source
28
29 You can run `make` for a debug build, or `make -e profile=release` for a
30 release build.
31
32 ## Usage
33
34 The proxy requires you to set environment variables, but otherwise takes
35 no options.
36
37 * `LOCAL_IMAP_PORT` u16, the port in which the server will listen for
38 IMAP clients. Defaults to 143.
39 * `LOCAL_IMAP_BIND_ADDRESS` String, the address on which to listen for
40 IMAP clients. Defaults to 0.0.0.0.
41 * `REMOTE_IMAP_PORT` u16, the port to which the server will forward the
42 IMAP messages. Defaults to 993.
43 * `REMOTE_IMAP_HOST` String, the host to which the server will forward the
44 IMAP messages. Required.
45
46 * `LOCAL_SMTP_PORT` u16, the port in which the server will listen for
47 SMTP clients. Defaults to 25.
48 * `LOCAL_SMTP_BIND_ADDRESS` String, the address on which to listen for
49 SMTP clients. Defaults to 0.0.0.0.
50 * `REMOTE_SMTP_PORT` u16, the port to which the server will forward the
51 SMTP messages. Defaults to 465.
52 * `REMOTE_SMTP_HOST` String, the host to which the server will forward the
53 SMTP messages. Required.
54
55 This means the minimum invocation is this (Shown here with inline
56 environment variables)
57
58 ```
59 % REMOTE_IMAP_DOMAIN=imap.coolmailsite.example REMOTE_SMTP_DOMAIN=smtp.coolmailsite.example olden-mail
60 ```
61
62 ## Debugging
63
64 You can control how much it prints by setting `RUST_LOG`. Setting it to
65 `debug` will output the whole protocol stream. The default level is
66 `info`.