Email is pretty old. It is older than the Internet. Despite the perennial claims that email is “dead”, it is still going strong. It’s also a bit complicated, which is why most folks set up an account with someone else (Yahoo!, Gmail, HotMail, ProtonMail, FastMail, etc.) who can take care of it for them.
However, if you want to host your own server, it can be done. If you are running Ubuntu 14.04 (and only that version at this time), MailInABox can handle most of the setup for you automatically.
It takes care of things like anti-virus, anti-spam, grey-listing, and HTTPS for you. The one area it cannot handle for you is the DNS setup. That’s something that is typically done with the domain registrar. And it seems to be different at each one, although there are tutorials appearing on the MailInABox web site that walk through the process at specific registrars. That was really the only difficulty I had.
There may be other problems getting other email services to accept email from your new server. They each have some arcane heuristic rules that block email before it even reaches their spam filters.
So, if you’re tired of having all of your email read just to send you more advertising, think about setting up your own server. It isn’t that hard anymore.
The Caddy server is a relatively new, easy-to-use server written in the Go programming language. It is very buzzword compliant. But, the nicest thing about it, in my opinion, is that it sets up SSL/TLS (Secure Sockets Layer/Transport Layer Security) certificates automatically from Let’s Encrypt to let you serve a site with HTTPS by default. The project is open source and the certificates are free.
Of course, WordPress is a very popular blogging platform. Caddy provides some guidance on getting WordPress up and running on the server. However, it wasn’t enough for me. Here’s some step-by-step guidance on how I got it working on some of my own self-hosted sites.
Earlier, I posted about how I set up servers hosted at CloudAtCost. There have been a few changes to that process. Rather than continually patching that post, here’s a new description. Again, this is for Ubuntu 14.04 which gets upgraded to 16.04 as part of the setup.