I read some recent phosts by jynx ([0],[1]) on email, where he mentions mutt and the fact that self-hosting is difficult. I've been using mutt and self-hosting my own domains' email for many years, and have had few problems with blacklisting or blocking. Here is a broad overview of what I do and recommend. I haven't changed this setup in a long time, it just runs: Setup postfix on a hosted Debian VPS, obviously there are tons but I use Ramnode for no particular reason over any others. I chose postfix because it is easy to setup, very secure and there are lots of tutorials available on how to do all the little things you want to do with an email server. You can use a server in your basement, but in any case the server should have a static IP address, as many commercial mail servers block email from broad swaths of dynamic IP ranges used by residential ISPs. If you can get two static IPs that is better, if one gets put on a blacklist for some reason you can just switch to the second. For DNS, obviously you need an MX record but it needs to be a hostname, not an IP address. Further, the IP address of your mail server needs to have a PTR record (reverse DNS) so that it resolves to the same hostname as your MX record. Some of the more strict mail servers check that the reverse DNS resolves. Add SPF records. They don't really work, but adding them is easy and you can just set them to soft-fail. I have no specific data to say this helps with blocking, but I have never been blocked by any of the big providers, so maybe it does help. Use one of the many wizards online for generating the needed TXT records. I don't use DKIM. The easiest setup for spam/virus scanning is amavis/spamasassin. For POP/IMAP I use dovecot, with free SSL certs on that and SMTP/TLS by Let's Encrypt (I used to use self-signed certs, but these are free and avoid any issues). I also use greylisting via postgrey, but it is not mandatory. If you want to allow family or friends (or yourself when traveling) to use your mail server as an outbound relay, this can be a problem. Most residential ISPs block port 25 outbound to all but their mail servers. Obviously this is unacceptable, so you can open up another port and have it forward to port 25 with an iptables rule - I use port 26 since I've found this is rarely blocked. /sbin/iptables -t nat -A PREROUTING -d <mail server IP> -p tcp \ -m tcp --dport 26 -j DNAT --to-destination <mail server IP>:25 I use a chrooted saslauthd for SMTP auth via TLS. The server itself is firewalled and although SSH is allowed in from anywhere, I disable password auth and run the daemon on another port. That avoids most bulk SSH attacks. For mutt I like Debian's mutt-patched which gives a nice sidebar/folder view. I also consolidate all of my personal email addresses into the same mutt config using folders, folder hooks and the reverse alias setting. I use procmail to filter into folders. I compose mail in emacsclient. Like postfix, once this is setup it needs very little maintenance. I read my email right on the mail server, but I do use k9 mail on occasion from my phone, via IMAP. [0] gopher://sdf.org/0/users/jynx/dat/20171202b.post [1] gopher://sdf.org/0/users/jynx/dat/20171203.post