Simple and complete declarative NixOS Mailserver setups
  • Nix 84.1%
  • Python 15.6%
  • Sieve 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Martin Weinelt 2c3a8c4e36 Merge branch 'dovecot-anvil-connect-limit' into 'main'
Set group on dovecot anvil-connect-limit unix socket

See merge request simple-nixos-mailserver/nixos-mailserver!555
2026-09-24 13:27:58 +00:00
docs docs/setup-guide: add NCSC "Check your email security" test 2026-07-28 14:24:35 +02:00
LICENSES Migrate to SPDX headers and lint with reuse 2026-06-08 14:20:23 +02:00
mail-server set group on anvil-connect-limit unix socket 2026-09-12 14:55:14 -04:00
migrations Adress ruff warnings after update 2026-08-02 22:26:07 +02:00
scripts Adress ruff warnings after update 2026-08-02 22:26:07 +02:00
tests tests/external: wait for fts-flatcurve log message 2026-07-17 23:49:34 +02:00
.editorconfig Remove makefile section from editorconfig 2017-11-11 09:47:25 +00:00
.envrc Provide direnv integration for flake devshell 2025-05-15 16:29:03 +02:00
.git-blame-ignore-revs git-blame-ignore-revs: init 2026-03-12 13:43:09 +01:00
.gitignore Provide direnv integration for flake devshell 2025-05-15 16:29:03 +02:00
.readthedocs.yaml flake.nix: prune hydra support; add aarch64-linux outputs 2026-06-17 05:21:54 +02:00
.rstcheck.cfg docs: rewrite 26.05 release notes 2026-05-24 21:03:47 +02:00
.typos.toml Check for obvious typos in pre-commit 2026-03-23 01:35:27 +01:00
default.nix Fix typo in sieveDirectory mkRemovedOptionModule message 2026-07-20 18:28:21 +08:00
flake.lock flake.lock: Update 2026-08-29 01:49:57 +02:00
flake.nix Lint toml files with taplo 2026-07-28 14:24:35 +02:00
LICENSE Migrate to SPDX headers and lint with reuse 2026-06-08 14:20:23 +02:00
nixbot.toml nixbot: run on stable branches 2026-07-28 14:24:35 +02:00
pyproject.toml Adress ruff warnings after update 2026-08-02 22:26:07 +02:00
README.md README.md: Fix 26.05 link pointing to 25.11 2026-06-12 20:55:05 +00:00
REUSE.toml REUSE.toml: drop hydra glue from annotation paths 2026-07-28 14:24:35 +02:00
shell.nix treewide: reformat with nixfmt-rfc-style 2025-06-15 03:39:44 +02:00

Simple Nixos MailServer

license pipeline status

Release branches

We publish a branch for each NixOS release. Only matching branch versions are supported.

Features

  • Continuous Integration Testing
  • Multiple Domains
  • Postfix
    • SMTP on port 25
    • Submission TLS on port 465
    • Submission StartTLS on port 587
    • LMTP with Dovecot
    • DANE and MTA-STS validation
    • SMTP TLS Reports (RFC 8460)
  • Dovecot
    • Maildir folders
    • IMAP with TLS on port 993
    • POP3 with TLS on port 995
    • IMAP with StartTLS on port 143
    • POP3 with StartTLS on port 110
  • Certificates
    • ACME
    • Custom certificates
  • Spam Filtering
    • Via Rspamd
  • Virus Scanning
    • Via ClamAV
  • DKIM Signing
    • Via Rspamd
    • Automatic key generation
    • Multiple selectors per Domain
  • User Management
    • Declarative user management
    • Declarative password management
    • LDAP users
  • Sieve
    • Allow user defined sieve scripts
    • Moving mails from/to junk trains the Bayes filter
    • ManageSieve support
  • User Aliases
    • Regular aliases
    • Catch all aliases
  • Improve the Forwarding Experience

In the future

Get in touch

How to Set Up a 10/10 Mail Server Guide

Check out the Setup Guide in the project's documentation.

For a complete list of options, see in readthedocs.

Development

See the How to Develop SNM documentation page.

Contributors

See the contributor tab

Alternative Implementations

Credits