Actually to be fair, mine works fine and always has. The final boss is making Hotmail/live/Microsoft actually accept your email despite you jumping through all the hoops to have perfect spam score.
IMHO, as someone running his own mail server, the real final boss is LDAP and implementing SSO on all your selfhosted goodies. Bonus points if you then use it to login to other services that support OAuth 2.0.
I have my own mailserver just for me and it wasn't that complicated to be honest. I set it up with Mailcow in Docker in under a day. So far it has been stable with regular backups and updates through Lighthouse.
Maintenance comes down to 5 minutes every three months because somehow Let's Encrypt and Mailcow don't like each other and I have to renew the certificate manually.
Well I didn't want google to read my mails, and use the content to generate ads, or profiles on me or my family.
Besides that it's keep me up to date on mailserver and mailman .
Besides I do it professionally so it was easy
Sadly, it only works if no one in the recipients of the mail is on gmail (or if everyone use pgp, which I would tend to think is even more rare).
I host my own mailserver as well, and I would add as benefits:
creating as many email address as you want easily, possibly regexp based address (awesome to give every site a different address and know where the spam comes from, without using the well known schema username+something@host). That also makes routing/filtering mails way more easy, you just have to match the recipient address.
delivering mails to software, to put email at the center of interapps messaging (basically, that means that postfix pass a matching email to the executable of your choice on your system instead of storing it in your mailbox)
advanced rules for handling emails. When I want to block a spammer that managed to get my real email, I use regexps to match their mails and reject it with a "REJECT 5.1.1 Recipient address rejected: User unknown in local recipient table" error, imitating the error for unknown users, which often triggers a mail system to remove your address from their database
easily configure apps to send me email. When I write an application that will send emails to me and only me, I configure it to use my smtp on port 25 without authentication instead of the usual smtps configuration they expect. It connects to it and asks to send a mail to me, which is accepted since I'm a local user. It makes everything way easier (try to do that with gmail and get your IP banned)
easy backups. Both of the mail system (I backup the whole sdcard of the pi) and of the emails. Never lose an email again.
I watched a talk, "fun with email" by Dylan Beattie, and his personal advice was "dont bother self hosting unless you're using it for contacting other self hosted users".
Without the dedicated IT support and clout of a large company he said you're gonna spend more time asking other servers to whitelist you than you're gonna actually spend using your email.
That's not true. I run my own email server for 15+ years now. There are only 5 of 6 mailboxes. I never had a problem with any other host. Not Microsoft, not Google. Maybe, the reason was, the IP was also 15+ years assigned to the same domain. I have only known senders, family and friends.
The last days, the hole subnet was blacklisted on some blacklists. So that was not my fault, the growing business of the provider lead to this situation. Eventually I moved to a very small provider and run a mail cow on a vps. On a fresh IP without any reputation. Same 'customers', the only issue was with T-Online in Germany, but a mail solved this. To keep this kind of issues away, I use sendgrid as a SMTP forward. With only a few mails per day, this is free. Mailcow provides a lot of features, rspam filtering, a lot better and faster than spamassin. Active sync, imap, webmail, everything. Solid backup, runs without any problem.
Mines running postfix, spamassassin and dovecot and runs pretty happily in 1GB, but when I was running in 512MB Spamassassin would get killed fairly regularly when it ran out of RAM
Yeah, I'd recommend using rspamd for lower-end hardware over spamassassin. Might be a bit more work to set up, mostly because it's not as popular, and there are fewer tutorials, but it doesn't have the overhead from running on perl like spamassassin. That said, while there are people using rspamd on systems with 512MB of ram, they are usually smaller, personal setups that aren't dealing with hundreds of emails a day.
Awesome, I'm only on year 3 or so. Have you implemented DANE? I haven't gotten to a point where I can properly make it work but I'm slowly getting there.
I’m in a similar boat. The only major issue I’ve found people are likely to run into is mass IP blocks from MS/Google. Where do you host it? Cloud provider these days or colo type place?
Those that are hosting their own mail server, did you stop using regular mail (gmail, outlook etc). Is possible to migrate to self hosted mail? I don't think I can't stop using gmail and other google services that's stopping me from trying to do this.