Using a well respected email stack/package like mailinabox, modoboa, mailcow or docker-mailserver is easy. They come with all the bells and whistles with very little low level stuff you need to configure yourself.
Some of the Advantages
Why so many providers refuse to provide something as simple and powerful as Sieve filters I'll never know. See wikipedia for an overview but basically it's the filters you have in Outlook and Thunderbird but on the server and with more options.
Many will tell you this is a disadvantage to selfhosting your own emails. I vehemently disagree, being able to backup your own emails without having to deal with the IMAP protocol saves you from countless headaches. You have to do backups for your install but you also get to backup for when you inevitably delete that one important email from 5 years ago.
Infinite email addresses
People pay for this service and praise google for allowing the
. in email addresses allowing you to classify incoming emails based on the address used. Some nice examples are
[email protected]. If you have multiple accounts you can also do
. addresses like
[email protected] or
No storage limits
1 gig email boxes? silly in this day and age. I just buy a new hard drive. Hosted email gets prohibitively expensive fast because the cloud is not meant for bulk storage.
Some of the Disadvantages
Honestly this is a solved problem for the most part, the big issue most people have is they don't train the filter. I more or less use: Dovecot: Anti spam With Sieve
- With infinite email addresses and Sieve filters you can easily move untrusted emails into specific folders
- Spamassassin when properly trained catches a large number of spam emails
- Using Postscreen for greylisting along with the great Postwhite script I found I could drop drive-by spam emails by a massive amount whilst still receiving the majority of important emails quickly.
The main argument against selfhosting email is deliverability and set-up time. Deliverability is a pain thanks to Google and Microsoft ignoring standards and generally being bad digital neighbors.
Or You can follow best practices and after warming up your IP address with a good volume of emails send them yourself.
- Don't send from a residential IP
- rDNS (PTR)
- DKIM - dkim.org
- SPF - spfwizard.net
- Valid SSL (i.e. Letsencrypt)
- Add a MTA-STS record - Tutorial.
- DMARC - dmarc.org
- Send emails dual format, "Plain and Rich (html) text" when possible Thunderbird. - Google is picky about this one.
- Avoid formatted links like google link instead use unformatted links
- Sign up for Google postmaster tools
- Sign up for Microsoft's SNDS