I know the adage that self-hosting email is hard. I use a third party smtp server to send emails for my Lemmy instance in order to guarantee delivery, for example.
However, other than potential uptime, what are the disadvantages to setting up self-hosted incoming email?
Incoming email is like 99% of my email usage. I’m happy to use a third party mail provider for outgoing email, but don’t see why I shouldn’t simply host incoming email myself.
Thank you <3
Most people complain about spam. I think you’ll be surprised just how much incoming spam you get and how hard it is to sort though it. Not to say it’s not worth doing, but that’ll be the hard part.
Agreed. Sensible to only do the incoming too, I had an outgoing one and it got hijacked because SMTP security seems to default to ‘least secure’. For example if there is a single character out of place in the config file, I found it basically opened everything up rather than reporting an issue :)
The main drawback is having your ip address bound to your domain, which with a whois can equal to your name and address
Maybe i’m just paranoid, spoiled by cloudflare protection
I read that cloudflare now allows you to proxy email as well.
it’s a redirect, and imho doesn’t work very well, at least when i tried i got too many bounces
Worth it for me. I have the freedom of hosting as many domains, accounts, and aliases but no extra charges. If you only have yourself, simple needs, and care less about holding your own data, maybe it is not worth it. It all depends.
I also would not say it is “easy”. It is if you already know what to do, but you can say that about a lot of things. And mailcow makes it all “easier”, but when something breaks, it is often not at the best time to figure things out.
I get less spam on this setup then I did with Google. I owe much of that to greylisting, which is very effective, but not everyone’s cup of tea.
My biggest problem over the years is delivery failure due to various written and unwritten rules. Some people here will say you just have to have a clean IP, but it is NOT that simple when dealing with Google and MS. In the end, I use Sendgrid for my outgoing. We send so little mail, we will always be in their free tier. I’d rather not use them, but it is better than giving up on selfhosting for me.
And finally, if you are not going to bake in backup and recovery into your plans, don’t bother. Make that aspect of your buildout equally important.I’ve run Zentyal Community on a cheap 1c/2gb VPS for probably 5+ years. Receiving email has never been a problem, and I basically don’t get spam. My top tip is to use a unique alias for everything, e.g. thirdpartyname.randomstring@your.domain every single time you have to give your email address for something. That way, when a third party is compromised and your provided alias starts receiving spam, you can just update your alias with them and on your MX. If you deliberately make any of your aliases public, you’ll probably want to setup rspamd and postgrey.
Getting opendmarc, opendkim, certbot, etc set up in a way that Zentyal wouldn’t nuke it everytime it updated was the biggest hassle for me, and I seem to remember having to open a ticket with Microsoft to get my outbound emails accepted by O365 too. Shouldn’t be an issue anyway if you use a smarthost for outbound.
This definitely isn’t an endorsement of Zentyal btw. In fact, to be clear, most of my setup efforts were spent fighting its design decisions. I’d recommend that you find something containerised which is well maintained and does only what you need. And put some time aside, especially if you’ve never set up an MX from scratch before.
I hosted my incoming mail for years with a minimal postfix config that would just relay to Gmail. That got me individual email addresses per service (e.g. grubhub@mydomain.com, …) that I could turn off when a service got annoying.
It worked wonderfully without issues for years. And by years i mean 8-10 years!
Recently, 11 months ago, i noticed that some mails were not relayed anymore, and i ultimately switched to Cloudflare for that feature. You can read more about that here: https://www.reddit.com/r/selfhosted/comments/vqk4j9/mail_relay_as_a_service_moving_away_from/
That said, if you only want to store the incoming mail, I don’t think you’ll have issues beyond spam, a lot of spam.
Good luck.
Do you know if typical postfix spam filters would help with that?