Merge branch 'master' into outbound
[mailpopbox.git] / README.md
1 # mailpopbox
2
3 Mailpopbox is a combination delivery SMTP server and POP mailbox. The purpose is to act as a
4 catch-all delivery server for an MX domain. All messages that it receives are deposited into a
5 single mailbox, which can then be accessed using the POP3 protocol.
6
7 ## TLS Support
8
9 TLS is recommended in production environments. To facilitate live-reloading of certificates, you can
10 send a running instance SIGHUP.
11
12 ## Send-As SMTP
13
14 Since mailpopbox is designed as a catch-all mail server, it would be impractical to administer SMTP
15 accounts to enable replying from any address handled by the server. The SMTP server instead
16 provides a way to send messages from arbitrary addresses by authenticating as the mailbox@DOMAIN
17 user. Any valid SMTP MAIL FROM is supported after authentication, but mail clients will typically
18 use the mailbox@DOMAIN user or the From header. The SMTP server's feature is that if the message's
19 Subject header has a special "[sendas:ANYTHING]" string, the server will alter the From message
20 header to be from ANYTHING@DOMAIN.
21
22 Practically, this means configuring an outbound mail client to send mail as mailbox@DOMAIN and
23 authenticate to the SMTP server as such. And in order to change the sending address as perceived by
24 the recipient, edit the subject with [sendas:ADDRESS].
25
26 ## RFCs
27
28 This server implements the following RFCs:
29
30 - [Post Office Protocol - Version 3, RFC 1939](https://tools.ietf.org/html/rfc1939)
31 - [Simple Mail Transfer Protocol, RFC 5321](https://tools.ietf.org/html/rfc5321)
32 - [Message Submission for Mail, RFC 6409](https://tools.ietf.org/html/rfc6409)
33 - [SMTP Service Extension for Secure SMTP over Transport Layer Security, RFC 3207](https://tools.ietf.org/html/rfc3207)
34 - [SMTP Service Extension for Authentication, RFC 2554](https://tools.ietf.org/html/rfc2554)
35 - [The PLAIN Simple Authentication and Security Layer (SASL) Mechanism, RFC 4616](https://tools.ietf.org/html/rfc4616)
36 - [POP3 Extension Mechanism, RFC 2449](https://tools.ietf.org/html/rfc2449)