# nixos-mailserver ![license](https://img.shields.io/badge/license-GPL3-brightgreen.svg) ## Work in progress... ### What works and what is missing for first release v 1.0 * Postfix - [x] starts - [x] receive email on port 25 - [x] receive email on submission port 587 - [x] lmtp with dovecot * Dovecot - [x] lmtp with postfix - [x] creates maildir folders, saves mails - [x] imap retrieval - [x] pop3 retrieval * Certificates - [x] manual certificates - [x] on the fly creation - [ ] TODO: Let's Encrypt (postponed to future release) * Spam Filtering - [x] scans emails * Virus Scanning - [x] Checks incoming mail for viruses * DKIM Signing - [x] Works * User Management - [x] Creates Users - [x] Set Passwords in config file * Update Documentation - [ ] Remove all `TODO`s - [ ] Write a Starter Guide - [ ] Make a Small Homepage - [ ] Flesh Out Documentation * Test - [ ] Test - [ ] Squash Bugs - [ ] Test - [ ] ... ### How to Test You can test the setup via `nixops`. After installation, do ``` nixops create nixops/single-server.nix nixops/vbox.nix -d mail nixops deploy -d mail nixops info -d mail ``` You can then test the server via e.g. `telnet`. To log into it, use ``` nixops ssh -d mail mailserver ``` ## A Complete Mail Server Without Moving Parts ### Used Technologies * Nixos * Nixpkgs * Dovecot * Postfix * Rmilter * Rspamd * Clamav * Opendkim * Pam ### Features * one domain * unlimited mail accounts * unlimited aliases for every mail account * spam and virus checking * dkim signing of outgoing emails * imap (optionally pop3) * startTLS ### Nonfeatures * moving parts * SQL databases * configurations that need to be made after `nixos-rebuild switch` * complicated storage schemes * webclients / http-servers ## Ideas for future releases * Fine grained control over ownership of aliases * More than one domain * Let's Encrypt