You read the title: I am now running an email server, which I would consider to be one of my most ambitious projects yet. The area of email hosting is very dark, and prone to attackers, and thus I will be leaving out some details which I find unfortunate. Spammers (yes, this includes companies) are ruining the email protocol. I am extremely lucky to have a server with the ability to use port 25 and other mailing tools and ports, and have reverse DNS setup.
After around 10 hours of work, I completed it. There is a backend which runs all of the typical services such as IMAP and SMTP, and a frontend, which I can tell you, is Roundcube. Roundcube’s interface is extremely snappy and sending emails is almost instant. I have successfully gotten an almost perfect delivery rate, being able to make it into the main inbox of a Gmail user (that’s a quite good accomplishment, better than most companies).
However, this mail server isn’t for stupid mass marketing, at least I hope not. I am wary to add more users, or ideally make the server public, free, and open, as if one user’s account gets compromised, my IP range could be put on spam lists and my email being shut down in a few days. I am using it as a personal email for now, just emailing friends and interacting in various mailing lists.
This experience of setting up a mail server has taught me that triumph is important, though your experience can really reduce the amount of effort you have to dedicate to a task. While this required the support of others (mainly the amazing support rep who set me up with a reverse DNS record in a few minutes), which can sometimes be difficult for me, I was able to work with those people to deploy my solution.
I am debating on opening up registrations to only a couple people, and gradually expanding. Though, I will need a better email than one which is branded to my person.