6ff4a50f02
After bumping the generation of new DKIM keys to RSA 2048 in NixOS 25.11 key rotation for existing users could not be done safely. To resolve this situation we now support multiple generations of selectors per domain to enable proper DKIM key transitions as described in RFC6376 3.1. The added documentation introduces and motivates DKIM and guides the user through a DKIM key rotation. Additionally, DKIM key material can now also be treated as a managed secrets when autogenerated state on the mail server host is undesirable. This change is fully backwards compatible in behavior and will continue to use the previously generated DKIM key without any additional configuration up until the point when DKIM selectors are configured explicitly.
109 lines
4.3 KiB
Markdown
109 lines
4.3 KiB
Markdown
# ![Simple Nixos MailServer][logo]
|
|
|
|

|
|
[](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/commits/master)
|
|
|
|
## Release branches
|
|
|
|
For each NixOS release, we publish a branch. You then have to use the
|
|
SNM branch corresponding to your NixOS version.
|
|
|
|
* For NixOS 25.11
|
|
* Use the [SNM branch `nixos-25.11`](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/tree/nixos-25.11)
|
|
* [Documentation](https://nixos-mailserver.readthedocs.io/en/nixos-25.11/)
|
|
* [Release notes](https://nixos-mailserver.readthedocs.io/en/nixos-25.11/release-notes.html#nixos-25-11)
|
|
* For NixOS 25.05
|
|
* Use the [SNM branch `nixos-25.05`](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/tree/nixos-25.05)
|
|
* [Documentation](https://nixos-mailserver.readthedocs.io/en/nixos-25.05/)
|
|
* [Release notes](https://nixos-mailserver.readthedocs.io/en/nixos-25.05/release-notes.html#nixos-25-05)
|
|
* For NixOS unstable
|
|
* Use the [SNM branch `master`](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/tree/master)
|
|
* [Documentation](https://nixos-mailserver.readthedocs.io/en/latest/)
|
|
|
|
## Features
|
|
|
|
* [x] Continuous Integration Testing
|
|
* [x] Multiple Domains
|
|
* Postfix
|
|
* [x] SMTP on port 25
|
|
* [x] Submission TLS on port 465
|
|
* [x] Submission StartTLS on port 587
|
|
* [x] LMTP with Dovecot
|
|
* [x] DANE and MTA-STS validation
|
|
* [x] SMTP TLS Reports ([RFC 8460](https://www.rfc-editor.org/rfc/rfc8460))
|
|
* Dovecot
|
|
* [x] Maildir folders
|
|
* [x] IMAP with TLS on port 993
|
|
* [x] POP3 with TLS on port 995
|
|
* [x] IMAP with StartTLS on port 143
|
|
* [x] POP3 with StartTLS on port 110
|
|
* Certificates
|
|
* [x] ACME
|
|
* [x] Custom certificates
|
|
* Spam Filtering
|
|
* [x] Via Rspamd
|
|
* Virus Scanning
|
|
* [x] Via ClamAV
|
|
* DKIM Signing
|
|
* [x] Via Rspamd
|
|
* [x] Automatic key generation
|
|
* [x] Multiple selectors per Domain
|
|
* User Management
|
|
* [x] Declarative user management
|
|
* [x] Declarative password management
|
|
* [x] LDAP users
|
|
* Sieve
|
|
* [x] Allow user defined sieve scripts
|
|
* [x] Moving mails from/to junk trains the Bayes filter
|
|
* [x] ManageSieve support
|
|
* User Aliases
|
|
* [x] Regular aliases
|
|
* [x] Catch all aliases
|
|
* Improve the Forwarding Experience
|
|
* [x] [Sender Rewriting Scheme](https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme)
|
|
|
|
### In the future
|
|
|
|
* Automatic client configuration
|
|
* [ ] [Autoconfig](https://web.archive.org/web/20210624004729/https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration)
|
|
* [ ] [Autodiscovery](https://learn.microsoft.com/en-us/exchange/architecture/client-access/autodiscover?view=exchserver-2019)
|
|
* [ ] [Mobileconfig](https://support.apple.com/guide/profile-manager/distribute-profiles-manually-pmdbd71ebc9/mac)
|
|
* Improve the Forwarding Experience
|
|
* [ ] Support [ARC](https://en.wikipedia.org/wiki/Authenticated_Received_Chain) signing with [Rspamd](https://rspamd.com/doc/modules/arc.html)
|
|
* User management
|
|
* [ ] Allow local and LDAP user to coexist
|
|
* OpenID Connect
|
|
* Depends on relevant clients adding support, e.g. [Thunderbird](https://bugzilla.mozilla.org/show_bug.cgi?id=1602166)
|
|
|
|
### Get in touch
|
|
|
|
* Matrix: [#nixos-mailserver:nixos.org](https://matrix.to/#/#nixos-mailserver:nixos.org)
|
|
* IRC: `#nixos-mailserver` on [Libera Chat](https://libera.chat/guides/connect)
|
|
|
|
## How to Set Up a 10/10 Mail Server Guide
|
|
|
|
Check out the [Setup Guide](https://nixos-mailserver.readthedocs.io/en/latest/setup-guide.html) in the project's documentation.
|
|
|
|
For a complete list of options, [see in readthedocs](https://nixos-mailserver.readthedocs.io/en/latest/options.html).
|
|
|
|
## Development
|
|
|
|
See the [How to Develop SNM](https://nixos-mailserver.readthedocs.io/en/latest/howto-develop.html) documentation page.
|
|
|
|
## Contributors
|
|
|
|
See the [contributor tab](https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/graphs/master)
|
|
|
|
### Alternative Implementations
|
|
|
|
* [NixCloud Webservices](https://github.com/nixcloud/nixcloud-webservices)
|
|
|
|
### Credits
|
|
|
|
* send mail graphic by [tnp_dreamingmao](https://thenounproject.com/dreamingmao)
|
|
from [TheNounProject](https://thenounproject.com/) is licensed under
|
|
[CC BY 3.0](http://creativecommons.org/~/3.0/)
|
|
* Logo made with [Logomakr.com](https://logomakr.com)
|
|
|
|
[logo]: docs/logo.png
|