I'm exploring some options to see if it's viable to self host my email account. Currently I have:
A home server that I can host the entire email stack but I cannot open the SMTP port there
An AWS account where I can create a VM with SMTP ports open to the internet and reverse DNS support, also I have a domain and AWS SES configured and approved to send emails
Ideally I would want to send and receive from my home server, but that is not possible, so I'm exploring some alternatives:
For receiving emails:
Cheap VM with postfix and my home server with dovecot, essentially forwarding all emails to my home server where I want them to be. I don't know if this setup works tho.
Keep everything in a VM, with the downside that I'll need to do extra work there as it will have all my data. If possible I don't want to go that route.
For sending emails:
Sending from the same VM receiving emails, and have everything managed
Use AWS SES to send emails in my behalf
Any input or opinion is appreciated. I'm currently exploring options, I haven't made any decisions, so if you have a better alternative feel fee to share.
I mean… you can, but beyond the technical aspect of setting up the hardware/services/DNS, you also have to deal with the unknowable black boxes that are the major email services. As a very small server, you’re gonna run into deliverability issues and have absolutely no feedback or recourse from the giants. There’s a decent chance that you’ll end up with a perfectly configured mail server that, through no fault of your own, fails to actually get your messages to their recipients.
(Sorry to be a bummer here! If you do go this route, I hope that everything works out well for you.)
As someone who runs a self-hosted mail service (for a few select clients) in AWS, this comment ring true in every way.
One thing that saved us beyond SPF and DKIM was DMARC DNS records and tooling for diagnosing deliverability issues. The tooling isn’t cheap however.
But even then, Microsoft will often blacklist huge ranges of Amazon EIPs and if you’re caught within the scope of that range it’s a slow process to fix.
Also, IP warming is a thing. You need to start slow and at the same time have relatively consistent traffic levels.
Is it worth it, not really no - and I don’t think I’d ever do it again.
I think this is largely why people complain that email hosting is so difficult. It's not the hosting, it's that so many people are doing it with a cloud hosting providers IP space. AWS, Azure, and Digital Ocean all tend to have their IPs in at the very least grey lists. Many home ISPs DHCP scopes too.
Getting a proper static IP, your own subnet from ARIN, or finding a colo with their own IP space will give people much better results.