Forked repo to test stuff on
Find a file
Martin Weinelt 3b7cda8cc5 flake.lock: Update
Flake lock file updates:

• Updated input 'git-hooks':
    'github:cachix/git-hooks.nix/dcf5072734cb576d2b0c59b2ac44f5050b5eac82' (2025-03-22)
  → 'github:cachix/git-hooks.nix/623c56286de5a3193aa38891a6991b28f9bab056' (2025-06-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/adaa24fbf46737f3f1b5497bf64bae750f82942e' (2025-05-13)
  → 'github:NixOS/nixpkgs/3e3afe5174c561dee0df6f2c2b2236990146329f' (2025-06-07)
• Updated input 'nixpkgs-25_05':
    'github:NixOS/nixpkgs/ca49c4304acf0973078db0a9d200fd2bae75676d' (2025-05-18)
  → 'github:NixOS/nixpkgs/fd487183437963a59ba763c0cc4f27e3447dd6dd' (2025-06-12)
2025-06-13 04:00:52 +02:00
.hydra Release 25.11 2025-05-22 01:31:46 +02:00
docs mention spam and ham training data in backup guide 2025-06-06 12:00:00 +00:00
mail-server Merge branch 'smptp-smuggling-cleanup' into 'master' 2025-06-12 22:57:43 +00:00
scripts scripts/generate-options: refactor 2025-05-15 16:29:04 +02:00
tests tests: drop dhparam default length configuration 2025-05-29 08:49:37 +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
.gitignore Provide direnv integration for flake devshell 2025-05-15 16:29:03 +02:00
.gitlab-ci.yml ci: use hydra-cli from pinned nixpkgs 2025-05-10 21:18:17 +02:00
.readthedocs.yaml docs: drop options.md from the repository 2022-12-22 20:45:03 +01:00
default.nix postfix: remove option to toggle SMTP smuggling workarounnd 2025-06-13 00:21:16 +02:00
flake.lock flake.lock: Update 2025-06-13 04:00:52 +02:00
flake.nix Release 25.11 2025-05-22 01:31:46 +02:00
LICENSE Initial commit 2016-07-21 18:09:04 +02:00
README.md Release 25.11 2025-05-22 01:31:46 +02:00
shell.nix docs: use MarkDown for option docs 2022-12-22 20:45:01 +01:00

Simple Nixos MailServer

license pipeline status

Release branches

For each NixOS release, we publish a branch. You then have to use the SNM branch corresponding to your NixOS version.

Features

  • Continous Integration Testing
  • Multiple Domains
  • Postfix
    • SMTP on port 25
    • Submission TLS on port 465
    • Submission StartTLS on port 587
    • LMTP with Dovecot
  • 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
  • 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

In the future

  • Automatic client configuration
  • DKIM Signing
    • Allow per domain selectors
    • Allow passing DKIM signing keys
  • Improve the Forwarding Experience
  • User management
    • Allow local and LDAP user to coexist
  • OpenID Connect
    • Depends on relevant clients adding support, e.g. Thunderbird

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