I have compiled my official mail provider recommendations. With any provider, you must always use your own domain.

## migadu.com

Good: Down to earth. Unlimited domains, storage, etc. Full marks for philosophical, ethical, and technical merits.

Bad: Difficult to set up. UI is a bit confusing. Advertises itself in your signature in the free plan. Apparently blocks VPN and Tor users (I have reached out to them about this).

Note: Was unable to evaluate their webmail

## mailbox.org

Good: excellent PGP support and good on other security fronts as well

Bad: requires google captcha, does not handle plaintext as well as I'd like, german leaks through into the english interface sometimes, too scatterbrained

## runbox.com

Good: Goes above and beyond in support for various standards and protocols, handles plaintext email very well. Lots of good options for account security.

Bad: rough UI

## summary

migadu is hard to set up but is the best all-around offering. If you're security concious, mailbox.org has the best PGP support and good all-around security; runbox.com has good account security options but no built-in PGP support.

Evaluated but not recommended: disroot, fastmail, posteo.de, poste.io, protonmail, tutanota, riseup, cock.li, teknik, megacorp mail (gmail, outlook, etc)

For anyone with multiple domains, multiple senders, sending email programmatically, or simply with the knowledge and patience to do so - I recommend setting up your own mail server.


For your own mail server, I recommend setting up a box with Alpine Linux, postfix, dovecot, and opendkim to sign outgoing email, with no webmail. I also recommend running your own DNS server with bind9. Test your mail configuration with mail-tester.com.

I do not endorse any fast-and-easy docker-based solutions.

@sir Can you elaborate on why you don’t recommend the docker-based solutions for self-hosting? (I assuming including mailu, mail-in-a-box, &c.)

@emacsomancer @sir i don't use docker for anything at this time. i don't see the productivity gains for my use case, and i feel like it adds security risk.

@ITwrx I can think of lots of things not to use Docker for, but the roll-your-own-email setups seemed, on the surface, to be a reasonable use-case for Docker. Though I still have a vague unease about them.


@sir i'm using mail-in-a-box currently, but i'm going to need to migrate that whole thing to alpine so it can integrate properly with my sourcehut install. took this route to get things off the ground quickly, but it isn't flexible at all lol

@sir I would add here that a big challenge is getting an IP with a clean bill of health from whichever hosting provider this server ends up on.

And that it may also mean not being able to reliably send email to megacorps for at least a year (or in case of outlook.com forever because they're that obnoxious) no matter how perfect your setup is with all the bells and whistles.

Whether that is a dealbreaker or an advantage is very subjective :)

@cmsirbu it's not especially difficult to get your IP cleared of wrongdoing

Maybe not difficult, but tedious. Microsoft for example is known to block whole /24 subnets for spam. If anyone on your network subnet is using the IP for spam, its pretty easy to get caught on the backwash and you need to deal with a lot of unsupportive staff to get of their blacklist. These kind of unwritten rules by the big three made me stop hosting my own mail in the end.

@cmsirbu @sir i too have received recycled ip addresses that had been abused by the previous leasee and placed on spam lists and it was easy to get them cleared. YMMV.

@sir A few more tips: You generally do not need a database server to manage multiple logins with virtual users. Disregard any tutorials that tell you otherwise. Postfix can authenticate via Dovecot and that can easily use a simple text file with user/auth/mailbox mappings.

Sieve scripts are extremely useful.

Instead of opendkim, you can also use amavis, which additionally takes care of validation and spam handling. Not difficult to set up.

(OT) And speaking of running your own DNS: It may be a good idea to run iodined so you have a way to bypass overzealous firewalls and captive portals/surveillance mechanisms of “free” public wifi networks.

@sir i use archlinux, postfix, dovecot and rspamd with dnsmasq and dnscrypt-proxy. thanks for the reminder about opendkim and bind9. i like alpine so far overall, and it looks to have a low attack surface, but i haven't used it enough to put it in production.

@sir rspamd is also a great addition, implements the opendkim and spamassassin stuff and greylisting in one tool.

@sir Even if you do not recommend "easy docker solutions", I think they are great though. Mailcow.email for example lets you setup a mail server with good defaults. It's best when you don't want to read hundreds of documentations to set every configuration correctly.

@sir agree rolling your own is the best way if you can. Personally I use OpenBSD because OpenSMTPD config is a dream to write (+ dovecot, DKIMproxy, no webmail)

@sir I do run a mail inbound server across eight #openbsd boxes running #opensmtpd and #spamd and #spamassassin, so I dont have to reinvent every backyard mailserver.


How 'bout @Yunohost ? sets up mail and XMPP server, infinite domains (provides suggested DNS), and you can choose from several optional webmail apps to self-host. Is not a docker.

Worst issues: currently debian 9. When installed as OS on arm, *I* have been unable to use imap clients (there may be workarounds, but not discovered as yet.)


Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!