We are still actively working on the spam issue.
Setting up a Server/Mail
Perhaps you're sick of Google/M$ datamining your emails, or maybe just want mail for your domain. Either way running your own mail server is a good solution.
Before You Start
You need a domain.
- This should not be a free domain that can be revoked at any time such as those from freedns or no-ip.
- See DNS
You need a server (duh) and a good understanding of GNU/Linux(or BSD, if you're so inclined) Keep in mind that the host can often see everything if you're using a VPS. Stick to trustworthy hosts or host from home for maximum (physical) security.
SMTP traffic between mail servers is often unencrypted for at least part of the route for a number of reasons. Consider using PGP to avoid potential interception problems.
The Easy Way
There are a number of complete mailserver packages around specifically for the new or lazy sysadmin. Here are some recommendations, all include everything you need including anti spam. For most you will need Docker set up.
- iRedMail - full featured, should only be run on a fresh install
- docker-mailserver - docker, no webui
- Mailu - docker, full featured including webui, simple
- Mailcow - available for docker or for bare metal, but only docker is kept up to date. Includes webui.
The Hard Way
 Older guide to encrypted mailboxes. Recommended.
What about having your mail server accessible as a Tor hidden service? (link to that guide)