I noticed that I wasn't getting many mails (I need better monitoring), and discovered that my iredmail server was poorly.
I have spent far too much time and energy on getting it back and working these past few days, but I've finally got it back up and stable.
Some background: I've had iredmail running for probably going on 6 years now and have had very few issues at all. It runs on an Ubuntu VM on Proxmox and originally was running in the same VM on ESXi (I migrated it over). I haven't changed anything to do with the VM for years other than the Ubuntu LTS updates every 2-3 years, it's always been there and stable. I occasionally will update the Ubuntu OS and iredmail itself, no problems.
Back to the problem... I noticed that Postfix was running OK, but was showing a bunch of errors about clamav not being able to connect. Odd. I then noticed that amavis was not running and had seemed to just die. I couldn't find any reason in any log file. Very strange. Bunch of hunting, checking config file history in the git repo. Nothing significant for years.
Find that restarting the server got everything back up and running. Great, lets go to bed.... Wake up next morning to find that amavis was dead again - it only lasted about 40 mins and then just closed for no reason. Right, ok, time to turn off clamAV as that seemed be be coming up a bit wheilst looking, follow the guide, all is well. Hmm, this seems to be working, but I don't really want clamav off. A whole bunch of duck duck going and I still couldn't figure out a root cause.
And then it clicked, the thing that was causing amavis to close was that it was running out of memory and it was being killed. Bump the memory up to 4GB and re-enable everything as it originally was and.... it seems to have worked. Been going strong for over a day now.
I don't know what it was that's changed recently which has meant the memory requirements have gone up a bit, but at least it's now fixed and it took all of 2 minutes to adjust.
I mean it happened to be mail, but it could have been any service on a server without enough resources. Just bad luck for me this time.
Setting up the mail server was a bit of a pain, but so was setting up a lemmy server. For 6 years it really has been plain sailing. So I was due a change in fortune, I guess
Turning on the server is not enough, you need to configure PTR , DKIM , DMARC and SPF. If your ip address is some blacklist it is necessary to have it removed. Once this is done, it is rare for emails to go to Spam other than for content control.
Email is one of those things that virtually everyone agrees is better off not self hosted. Similar to how most in the cooking world agree you shouldn’t be making fugu at home. Though admittedly, usually no one dies if you fuck up your email server.
It's just a myth put around by some inexperienced user who has tried to set up a mail server or more likely by large companies who wants to give you ‘for free' the service.
It was actually much more difficult to manage them many years ago when you had to invent by hand how to filter spam. Now with common standards supported by many pre-packaged solutions, everything is much simpler and accessible to the less experienced.
Of course, I admit that it takes a minimum of experience to make a backup of a text file containing the mailboxes and this could definitely be the toughest challenge 🙄.
The potential for data loss is more catastrophic, a misconfiguration can go unnoticed for long periods of time, your IP can be listed as spam without notification, and more. Not to mention, short term downtime of a couple days can result in loss of emails.
Is it easy to spin up a docker image and call it a day? Certainly. But there is a lot more involved in a healthy email server, and there are a lot of pitfalls.