All this new excitement with Lemmy and federation has got me thinking that maybe I should learn to run my own instance. What always comes up though is how email is the orginal federated technology.
I am looking at proxmox and see that is has a built in email server, so now I am wondering if it is time to role my own.
I stopped using gmail a long time ago, and right now I use ProtonMail, but I am super frustrated with the dumb limitation of only having a single account for the app. I get why they do it, and I am willing to pay, but it is pricey and I don’t know if that is my best option. I guess it is worth it since ProtonVPN is included. It looks like they are expanding their suite.
Is it worth it? Can I make it secure? Is it stupid to run it off a local computer on my home network?
It’s a great learning exercise but challenging to get right and ensure your deliverability and basically impossible from a residential-grade IP address (if you have a business class static IP at home you could pull it off).
I ran an email server for decades but gave in and pay to host my email now.
If google decides you’re a bad guy it’s such a pain to crawl back from that and I prefer my email to just work.
I used to run my own mail server about 2 years ago but unfortunately the spam got so bad I didn’t have the time to manage all the filters. I moved over to ProtonMail since I can still use my own domain there. So I guess I would say it’s not really worth it also it really sucks if your power is out and not having access to sent your power company a strongly worded email.
It’s bad out there when it comes to hosting your own email server. This blog post shows somebody’s experience in detail, and it’s worth reading. https://cfenollosa.com/blog/after-self-hosting-my-email-for-twenty-three-years-i-have-thrown-in-the-towel-the-oligopoly-has-won.html
It’s all so sad.
That was a sobering read. We all feel victorious when we see big tech fail after they wronged their users, but fundamental technologies that actually run the world have already been lost, and may never be recoverable for egalitarian use.
I host my own mailserver, and to be honest it’s pretty painless. Usually I just let it run without giving it any thought. It’s on rare occasions that I need to put a bit of work into improving the inbound spam scanning.
Selfhosting does need quite some knowledge of the software stack and several additional protocols to set them up correctly to get your outgoing email delivered. Also, like already mentioned in another comment, you absolutely need an IP address from a non-blacklisted subnet (I think most VPS providers will be okay, residential definitely not).
My software stack: Arch Linux (soon NixOS), Postfix, Dovecot, rspamd, opendkim, opendmarc.
Additional techniques configured: SPF, DKIM, DMARC, DNSSEC.
As you can see it’s quite a lot, and I’ve been doing for more than 20 years now, so my opinion can be a bit skewed. I’d say go for it if selfhosting is a hobby.
I have been learning about it, and what really has motivated was seeing my current provider ProtonMail have an anniversary sale, and just having the least affordable pricing just to get a couple features I need. I have never been a fan of cloud storage, I have never needed an online service to handle my calendars or whatever else.
I need to do do this out of principle.
You are right, that is a lot of software in use. However, I have been given a lot of recommendations. I got my own domain name. I am almost ready. I just need to setup a few more things. I am taking a long time to do this, I got distracted with other self-hosted applications, but I do want to try running a mailserver.
Yes, I still run my own email server. It is not for the faint of heart, but once it’s configured and your IP reputation is clean, it’s mostly smooth sailing. I have not had any deliverability problems to date, initial setup/learning period notwithstanding.
If you’re not scared away yet, here are some specific challenges you’ll face:
- SMTP ports are typically blocked by many providers as a spam prevention measure. Hosting on a residential connection is often a complete non-starter and is becoming more difficult on business class connections as well (at least in the US, anyway).
- If you plan to host in a VPS, good luck getting a clean IPv4 address. Most are on one or more public blacklists and likely several company-specific ones (cough Microsoft cough). I spent about 2 weeks getting my new VPS’s IP reputation cleaned up before I migrated from the old VPS.
- Uptime: You need to have a reliable hosting solution with minimal power/server/network downtime.
- Learning Curve: Email is not just one technology; it’s several that work together. So in a very basic email server, you will have Postfix as your MTA, Dovecot as your MDA, some kind of spam detection and filtering (e.g. SpamAssassin), some kind of antivirus to scan messages/attachments (e.g. Clamd), message signing (DKIM), user administration/management, webmail, etc. You’ll need to get all of these configured and operating in harmony.
- Spam prevention standards: You’ll need to know how to work with DNS and create/manage all of the appropriate records on your domain (MX, SPF, DMARC, DKIM records, etc). All of these are pretty much required in 2023 in order for messages from your server to reach your recipient.
- Keeping your IP reputation clean: This is an ongoing challenge if you host for a lot of people. It can only take one or two compromised accounts to send a LOT of spam and land your IP/IP block on a blacklist.
- Keeping up with new standards: When I set my mail server up, DMARC and DKIM weren’t required by most recipient servers. Around 2016, I had to bolt on OpenDKIM to my email stack otherwise my messages ended up in the recipient’s spam folder. -Contingency Plan: One day you may just wake up and decide it’s too much to keep managing your own email server. I’m not there yet, but I’ve already got a plan in place to let a bigger player take over when the time comes.
Yep. I’ve hosted my own mail server since the early oughts. One additional hurdle I’d add to you list is rDNS. If you can’t get that set up, you’ll have a hard time reaching many mail servers. Besides port blocking, that’s one of the many reason it’s a non-starter on consumer ISP.
I actually started on a static ISDN line when rDNS wasn’t an issue for running a mail server. Moved to business class dsl, and Ameritech actually delegated rDNS to me for my /29. When I moved to Comcast business, they wouldn’t delegate the rDNS for the IPv4. They did create rDNS entries for me, and they did delegate the rDNS for the IPv6 block. Though the way they deal with the /56 IPv6 block means only the first /64 is useable for rDNS.
But, everything you list has been things I’ve needed to deal with over the years.
Yeah, I totally forgot about reverse DNS. Good catch. I probably left out a few other things what with the repressed trauma of it all. lol.
I had to deal with Suddenlink business, and they were (somehow) surprisingly worse than what you described for Comcast (I didn’t know that was possible, TBH). Suddenlink wouldn’t even unblock the SMTP ports at all let alone delegate rDNS to our static.
Hosting a mail server is really easy. Making sure Hotmail, Gmail and others accept your emails is a nightmare.
I don’t host my own email, I just delegate my email management to a small provider.
I am learning this is the case. I think I may be better off running a Nextcloud instance, or similar suite using better applications for stuff like file sharing, which is more important.
I am learning this is the case. I think I may be better off running a Nextcloud instance, or similar suite using better applications for stuff like file sharing, which is more important.
I am learning this is the case. I think I may be better off running a Nextcloud instance, or similar suite using better applications for stuff like file sharing, which is more important.
Nope. It can’t really be self hosted anymore, as having a residential IP is a straight track to the spam folder. It can be done if you also pay for a mail relay service, but then what’s the point of self hosting when you need to rely on a cloud service anyways.
@DidacticDumbass
Yes I run my own mailserver. I have done it for the last 15 years or so.I’m also running my own Friendica instance.
Could you share you solution? You don’t have to! I am just curious how you do it since a lot of people seem to hate it, compared to self-hosting everything else.
@DidacticDumbass But yeah you’re right. It’s a mess nowadays with email hosting because Google for example just rejects everything except the other big services even if you comply with DKIM etc. Fuck them honestly
Fuck them. Even after completely degoogling they still manage to fuck everyone over.
Not likely worth it. Primary reason is that the large federated email services are skeptical of email from services such as your proposed self hosting solution and may simply not deliver the mail you send. This is to mitigate against spammers setting up bespoke servers.
There are a bunch of other things that could go wrong if you don’t set everything up perfectly, but even if you do, this would be a big problem.
Better off using a custom domain with a big provider. Fewer headaches. I like Fastmail, but many others are great too.
Jep. running a linux mailserver for now 20+ years
its now running postfix :-), in a vm on proxmox…
Proxmox is awesome. Sort of the answer to most of my server wants.
Yes, and I love it.
I use mailjet as a proxy on outgoing emails so that I get fewer of my sent messages rejected, which works.
It was a pain to setup but it’s treating me very well.
Neato! I was so concerned about the logistics of sending and receiving emails, it never occurred to me that I could get fancy and make nice looking emails. All I use is text, yet I can do so much better.
No, I only write plain text emails, mailjet only has ip addresses that are generally not blocked by the big providers and they do all the DCIM stuff.
I get that, I will definitely need to choose a service that helps to not get sending blocked. Still, I was amused that templates were such a big selling point.
Only people who hate themselves
I use Cloudflares email routing.
Point my domains name servers to Cloudflares and enable email routing. I can then create any email address in that domain and have it forward to any of my email addresses. Works great when signing up for accounts. The only thing you can’t do is fire off email FROM said email address
Edit: can to can’t
I ran email server with Mailcow Docker. Easiest way I have found. It is perfect to host your own mailbox but as other have said, the sending from your IP might just get blocked by other big mail servers. Luckily Mailcow allows you to use it as a SMTP relay and you can route outbound mail through the well known SMTP services.
Just take a look at https://docs.mailcow.email/
This runs from a small box with everything included. It gives you all the tools and config needed for running a secure and feature rich email service. Webmail, some sort of exchange emulation, webcalender on top of a solid postfix/dovecot install with rspamd as spam filter. Everything is configurable via a nice web UI.
After 15y running my own mail service and editing a lot of config files, I use this piece of free and open software and find it very good. All you need is a box somewhere in the internet. Running from a homelab will instantly fail, expect you have a static ip.
Neato! There seems to be a lot of solutions for running a mail server.
Yeah, I think it is time, I need to get familiar with Docker.
Yeah, I was clueless thinking I could run it from my home. Hah. I just wanted to avoid paying for a VPS. Which is silly because I buy too much crap all the the time and have multiple subscriptions.
This is actually valauable.
mailcow lists a small german vps hoster with a fair price and the right sizing. It’s not a big hoster, gmail and microsoft are not blocking the ip-range and the ASN is not listed on any blacklist.
The support is quick and helpful, rDNS was a matter of minutes to set up. You don’t need any deeper knowlegde of docker, since it is a one-time job to set the things up und get the stack running. The documentation of mailcow is very good.
You can run it from home, but you will need a forward host like sendgrid and maybe a backup mx. You can set a primary ip and a backup ip wich will get all the mails when the primary host is down. I guess, there a comercial or free backup-mx services out there. No problem. If you have a static ip for your homelab or at least a dynamic dns-name, it will work. Recieving is easy. But you will need a good forward-service for sending.