nixos-mailserver/README.md

106 lines
2 KiB
Markdown
Raw Normal View History

2016-07-21 18:11:43 +02:00
# nixos-mailserver
2016-07-21 18:55:01 +02:00
![license](https://img.shields.io/badge/license-GPL3-brightgreen.svg)
2016-07-21 18:11:43 +02:00
2017-09-13 13:16:17 +02:00
## Stable Releases
2017-09-13 13:16:17 +02:00
None so far.
## Features
### v1.1
* Postfix MTA
- [x] smtp on port 25
- [x] submission port 587
2017-08-13 12:58:00 +02:00
- [x] lmtp with dovecot
* Dovecot
2017-09-13 13:16:17 +02:00
- [x] maildir folders
- [x] imap starttls on port 143
- [x] pop3 starttls on port 110
2017-08-13 12:58:00 +02:00
* Certificates
- [x] manual certificates
- [x] on the fly creation
* Spam Filtering
2017-09-13 13:16:17 +02:00
- [x] via rspamd
- [x] hard coded sieve script to move spam into Junk folder
2017-08-13 12:58:00 +02:00
* Virus Scanning
2017-09-13 13:16:17 +02:00
- [x] via clamav
2017-08-13 12:58:00 +02:00
* DKIM Signing
2017-09-13 13:16:17 +02:00
- [x] via opendkim
2017-08-13 12:58:00 +02:00
* User Management
2017-09-13 13:16:17 +02:00
- [x] declarative user management
- [x] declarative password management
### v1.2
* Certificates
- [ ] Let's Encrypt
* Sieves
- [ ] Allow user defined sieve scripts
* User Aliases
- [ ] More complete alias support
### v2.0
* [ ] Multiple Domains
2017-09-13 10:17:04 +02:00
### Changelog
#### v1.0 -> v1.1
* Changed structure to Nix Modules
2017-09-13 13:16:17 +02:00
* Adds Sieve support
2017-08-13 12:58:00 +02:00
2017-08-12 11:52:01 +02:00
### 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
```
2017-09-13 13:16:17 +02:00
To test imap manually use
```
openssl s_client -host mail.example.com -port 143 -starttls imap
```
2017-09-13 10:17:04 +02:00
2016-07-21 18:11:43 +02:00
## A Complete Mail Server Without Moving Parts
### Used Technologies
2017-08-12 11:37:54 +02:00
* Nixos
* Nixpkgs
* Dovecot
* Postfix
* Rmilter
* Rspamd
* Clamav
* Opendkim
* Pam
2016-07-21 18:20:56 +02:00
### Features
* one domain
* unlimited mail accounts
2016-07-21 18:20:56 +02:00
* unlimited aliases for every mail account
* spam and virus checking
* dkim signing of outgoing emails
2016-07-21 18:42:14 +02:00
* imap (optionally pop3)
* startTLS
2016-07-21 18:20:56 +02:00
### Nonfeatures
* moving parts
* SQL databases
* configurations that need to be made after `nixos-rebuild switch`
* complicated storage schemes
* webclients / http-servers
2017-08-13 14:05:40 +02:00
2017-09-03 15:43:37 +02:00
## Contributors
* Special thanks to @Infinisil for the module rewrite
* @danbst
2017-09-13 10:17:04 +02:00
* @phdoerfler