this post was submitted on 12 Jun 2023
154 points (98.7% liked)

Selfhosted

40767 readers
571 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] ptz@dubvee.org 35 points 2 years ago* (last edited 2 years ago) (2 children)

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.
[–] DidacticDumbass@lemmy.one 4 points 2 years ago (2 children)

Wow. I am emotionally ready for the challenge, but not intellectually, and maybe not even financially.

IP reputation is such a new concept to me, but I have already come across it when the IP from the VPN I am using is blacklisted. Super annoying. I really have to reconsider my threat level because I am starting to get the feeling that I do not need it. I am a good boy and don't pirate much, mostly books. And for the naughty stuff... well I didn't feel unsafe before I started a VPN.

Well, you have given me a lot to think about. Thanks!

load more comments (2 replies)
[–] phase_change@sh.itjust.works 4 points 2 years ago (1 children)

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.

[–] ptz@dubvee.org 6 points 2 years ago* (last edited 2 years ago)

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.

[–] gabek@fedia.io 24 points 2 years ago (1 children)

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.

[–] DidacticDumbass@lemmy.one 6 points 2 years ago

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.

[–] proycon@lemmy.world 19 points 2 years ago (4 children)

I've been self-hosting e-mail for over 15 years and hope to continue doing so. Although it's being made increasingly difficult by big tech players. I wrote about it here: https://proycon.anaproy.nl/posts/rant-against-centralising-e-mail/

[–] 2xsaiko@discuss.tchncs.de 8 points 2 years ago

Great post!

I'm a rather dismayed to see those universities and institutes nowadays no longer as pioneers and innovators in this area, but instead as mere consumers of ready-made corporate solutions, following corporate interests and centralising solutions. I have two employers, both academic, and both have resorted to big-tech corporations that offer solutions like e-mail as a service.

Same here, my university recently switched from their Horde webmail to Exchange. The new outlook webmail is absolutely awful and I couldn't set up all the filters that I had before. Luckily I could enable IMAP login, thankfully without OAuth because imo that's another awful practice, so I can connect to it with non braindead mail clients. Still a massive downgrade and I bet they now have to run it on a 10x as powerful server because I hear Exchange is an absolute monster in terms of resource usage.

(Also, I've been self-hosting mail for probably 4 years at this point. Here's to many more!)

load more comments (3 replies)
[–] thekernel@lemmy.ml 13 points 2 years ago* (last edited 2 years ago) (1 children)

Not worth the hassle - best compromise is to get your own domain but use a provider like fastmail to host it.

If they turn sour you can move your domain to another mail host.

[–] DidacticDumbass@lemmy.one 4 points 2 years ago (8 children)

I think this is the solution I was thinking about in the first place. I was just musing about it being part of a home lab. I have to consider whether this solution is is better than just paying for secure email.

load more comments (8 replies)
[–] bassomitron@lemmy.world 12 points 2 years ago* (last edited 2 years ago) (3 children)

Obligatory PSA: ProtonMail isn't any more secure than Gmail and is likely a honeypot scheme crafted by government agencies: https://encryp.ch/blog/disturbing-facts-about-protonmail/

I know the title of that sounds clickbaity, but they cite their sources. It's worth the read for those curious about ProtonMail's history and their CEOs.

[–] linearchaos@lemmy.world 8 points 2 years ago (1 children)

Tbh, that document reads like a discovery channel 2am aliens documentary, but it's not completely without merit.

There are a couple line items about software services they're using that are shitty that sound pretty legit. The fact that they're operating in locations where they might have to hand over data sounds pretty legit. Their warrant compliance and logging/handing over a person's IP address is legit.

The CIA honeypot stuff is all really circumstantial. If the CIA was in as deep as is claimed, a lot of the real evidence people are turning up that they're not a secure as they could be would be unnecessary.

My best guess is they decided to make an email company based in Switzerland with the schtick that they're secure (banks amirite?) They're doing what they can to appear secure without spending too much money. They're not going to have legal battles to keep your data private, and they are going to comply with agencies request for data. Even if they support end-to-end encryption if they are required by an agency to turn that encryption off for you, they're going to do it.

They're probably less likely than Google or Microsoft to sell all of your data to the highest bidder, but realistically there's no such thing as secure email.

[–] Skooshjones@vlemmy.net 8 points 2 years ago (8 children)

The basic assumption every privacy-concerned person should have about email is that it's never secure. Unless you use an offline cryptography program to encrypt your email text and then paste it into the email body before you send it, your emails are insecure.

Email was never designed with that in mind. If you want to communicate securely with somebody, use a medium/method that has been designed from the start for that purpose.

I use ProtonMail because it's not a massive corpo and it's open source, but I don't believe that my emails are significantly more secure than on a service like Exchange or Gmail.

load more comments (8 replies)
load more comments (2 replies)
[–] thomsbe@red.cyberhase.de 12 points 2 years ago (6 children)

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.

load more comments (6 replies)
[–] sunbeam60@lemmy.one 11 points 2 years ago (1 children)

Despite my willingness to self-host almost everything, e-mail remains the last frontier for me. Keeping abreast of standards, keeping up today, avoiding implications in abuse and many, many smaller issues abound ... and that's despite my fixed IP and ISP willing to set up a reverse-DNS for me.

Instead I've gone with a paid email provider that I'm REALLY happy with.

load more comments (1 replies)
[–] anders@rytter.me 10 points 2 years ago (5 children)

@DidacticDumbass
Yes I run my own mailserver. I have done it for the last 15 years or so.
@selfhosted

[–] DidacticDumbass@lemmy.one 4 points 2 years ago (6 children)

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.

load more comments (6 replies)
load more comments (4 replies)
[–] Fmstrat@lemmy.one 10 points 2 years ago (3 children)
load more comments (3 replies)
[–] DrinkMonkey@lemmy.ca 10 points 2 years ago (3 children)

Not likely worth it. Primary reason is that the large federated email services are skeptic also 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 a 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.

load more comments (3 replies)
[–] Album@lemmy.ca 9 points 2 years ago* (last edited 2 years ago) (4 children)

Your own email server requires near 100% uptime or you risk not receiving critical emails. If a remote email server is trying to contact your email server and it can't it's only going to retry a few times and then give up. Hosting this yourself sounds great until you realize high uptime is not cheap and requires constant attention.

Setting it up securely can be difficult depending on your understanding of server infrastructure as well as protocols like DNS. You need to set up SPF, DKIM, DMARC, etc in order to prevent someone from faking an email from your server.

Of course, federated email does not use SPF/DKIM/DMARC because the whole point is that someone from another server could use your server to send an email (hence the federation). Open email servers were common 20 years ago but very rare today. That makes setup easier, but the main caveat is that most known non-federated email servers will reject email from servers that don't have SPF/DKIM/DMARC because they generally end up being havens for bots and spam since there is no verification or authenticity of the sender.

As someone who self hosts a lot of things, I would never self host my email. If i did I would be paying for two boxes in different parts of the world on different ISPs to provide that uptime. I would definitely set it up securely and not as a federated server otherwise it would be practically unusable for day to day emails.

[–] DidacticDumbass@lemmy.one 4 points 2 years ago

Yep, I have no idea what those acronyms mean. Thank you for the reality check!

[–] Saik0Shinigami@lemmy.saik0.com 4 points 2 years ago (1 children)

Your own email server requires near 100% uptime or you risk not receiving critical emails.

I disagree. You can take some amount of downtime without issue.

https://wpmailsmtp.com/docs/how-to-automatically-resend-a-failed-email/ as an example for some services.

Many services (including postfix by default) will attempt a number of resend operations before it gives up.

Of course, federated email does not use SPF/DKIM/DMARC because the whole point is that someone from another server could use your server to send an email (hence the federation).

What? All email is federated. What are you talking about here? SPF/DKIM/DMARC are on top of email... and have nothing to do with the federated property of email. Federation does not mean that you login or use another server. But that you have your instance, and the servers hash out the cross communication amongst themselves. That's EXACTLY what email servers do using SMTP.

I would definitely set it up securely and not as a federated server otherwise it would be practically unusable for day to day emails.

If your email wasn't federated then you would get emails from anyone outside of your own instance. That would make email useless for 99% of the world.

load more comments (1 replies)
load more comments (2 replies)
[–] Malin@omg.qa 9 points 2 years ago (8 children)

Yes, with mailcow.email and a catchall and random email system with Anonaddy.

[–] DidacticDumbass@lemmy.one 4 points 2 years ago (5 children)

Thank you for the leads! I have a lot of research to do.

load more comments (5 replies)
load more comments (7 replies)
[–] lunarnexus@infosec.pub 9 points 2 years ago (4 children)

Only people who hate themselves

[–] DidacticDumbass@lemmy.one 4 points 2 years ago

That is past me. I am barely starting to like myself now!

load more comments (3 replies)
[–] neutron@lemmy.world 8 points 2 years ago (3 children)

I did for a couple years, but moved to mailbox.org a while ago. The effort was much to high to save a few bucks and there is no real upside to it. E-Mail is a troublesome mixture of different protocols from the internet stone age held together by chewing gum (SMTP, POP3, IMAP, DNS, database or file storage, maybe ActiveSync, Web-Mailer, ...)

Even when everything is up and running there is always maintenance to keep your SSL certificates up to date, update your incoming spam filter technique, keep other mail providers assured that you are not spamming (DKIM, etc.), keep all the different system services (see above) up to date and interoperable, etc. and every few years when you want to move to a new server, provider or Linux distro you start it all over again.

load more comments (3 replies)
[–] stroskler@lemmy.skl.works 8 points 2 years ago (1 children)

Running a mail server these days is not that difficult. While using pre-assembled stacks like mailcow only the DNS entries needs to be done. If you want to run it at home you should do some research on routing all the traffic through a wireguard tunnel to preserve a public IP other mail instances will accept

load more comments (1 replies)
[–] UselesslyBrisk@infosec.pub 8 points 2 years ago (6 children)

I stopped running my own a while ago. Its no longer really decentralized and the big players (google/microsoft) will often just blacklist you for little reason.

That said I DO maintain my own domain and backups. So i can take my email to whatever hosting provider I want.

I also noticed, during the migration, that if you simply register your domain with one of the big players (ie: Google Workspace or M365) you will often get whitelisted and email will flow easier. This was easier when they had a free tier though.

load more comments (6 replies)
[–] monkeysuncle@beehaw.org 7 points 2 years ago (1 children)

I used to run an OpenBSD mailserver for my personal email address for a few years. It wasn't that difficult to setup, more tedious and annoying than anything. I stopped doing it when I started searching for a job as I was too paranoid about my emails getting rejected without me knowing about it. I don't send many emails, but when I do send them I want to know they are getting to where they need to go. I know I was never blocked by gmail, but I couldn't be sure about other providers.

Now I just use my domain name as a catchall on mailbox.org and access it using offlineimap. All my emails are saved and backed up, so switching providers is no problem at all.

load more comments (1 replies)
[–] thoralf@discuss.tchncs.de 7 points 2 years ago (2 children)

No. But I did consider it. Multiple times.

Why not? I'm too scared! Email is the one service that let's an attacker nuke each and everything. It's still the most central/crucial service that almost any service relies on. If I lose access to my mail account, I lose access to pretty much every service.

As much as I would like to host this myself, I simply do not feel comfortable to do it.

load more comments (2 replies)
[–] ComeHereOrIHookYou@lemmy.world 7 points 2 years ago (4 children)

I originally did but the maintenance burden was killing me. Then last year Proton unified their subscription with VPN and Mail (also upgrading my Proton VPN only subscription to Proton plus) and from there I decided to just go all in on Proton mail. I integrated my domain to Proton mail and never looked back.

load more comments (4 replies)
[–] jonne@infosec.pub 6 points 2 years ago (3 children)

I used to, I don't any more. All the other comments are right, spam is a huge issue, and you can get blacklisted for no reason without recourse. I'm personally using migadu.com, which gives me some of the flexibility of running my own server without the hassle.

load more comments (3 replies)
[–] FluffyPotato@lemm.ee 6 points 2 years ago (1 children)

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.

load more comments (1 replies)
[–] ChojinDSL@discuss.tchncs.de 6 points 2 years ago (3 children)

I've been hosting my own mail server, ever since I got into Linux. Most companies where I worked before, used self hosted email.

I've since migrated to using mailcow, which takes a lot of the headache out of it.

When you first start, it's a bit daunting. But easily manageble, once you've gained some experience.

load more comments (3 replies)
[–] Scratch2003@feddit.de 6 points 2 years ago (1 children)

I do host my own mailserver for multiple years now without any issues.

I'm using https://docker-mailserver.github.io/docker-mailserver/latest/ on a rented server, not at home. I recently added DKIM and I check my setup via https://mxtoolbox.com and the like in irregular intervals to see if I can improve something.

The only downside I see is spam filtering, which obviously works better with GMail if the whole world population does the filtering for you. But the included SpamAssassin setup does work and catches most of the spam. I do check for false positives/negatives very regularly and have training folders set up so I can easily move messages into the SA training.

load more comments (1 replies)
[–] leopardboy@lemmy.world 6 points 2 years ago (9 children)

I used to run my own mail server many, many years ago (early 2000s), but today it's a lot more difficult. I personally don't think it's worth it, but I do have my own domain that I can host anywhere I choose. At the moment, I'm using Fastmail. Lots of nice features, and no complaints.

load more comments (9 replies)
[–] slashzero@hakbox.social 5 points 2 years ago* (last edited 2 years ago) (1 children)

I setup my own instance and went with the free mail tier on brevo.com. They allow 300 relays per 24 hour period on the free tier. Their email stats and tracking looks decent too.

Prior to that I had setup my own postfix server, and while it worked fine, emails to gmail accounts were not getting through.

load more comments (1 replies)
[–] druppel@feddit.nl 5 points 2 years ago* (last edited 2 years ago) (1 children)

I setup my own email server, it was an absolute pain to setup, especially since I had no idea about all the little details of sending and receiving email. It was kind of fun to see everything come together

In the beginning I had a ton of email go into spam boxes, especially with gmail. Later I found out that if you don't add the proper email headers like to: "Name Of Recipient" <email@example.com> it goes straight to the spam folder. (So you always need to provide a name)

I am afraid to touch anything now though, as it is currently very really stable (on a vpn btw)

load more comments (1 replies)
[–] Number1@lemmy.world 5 points 2 years ago* (last edited 2 years ago) (5 children)

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

load more comments (5 replies)
[–] Oxff@lemmy.world 4 points 2 years ago (1 children)

I've been running the families mail server for over 6 years now. I'm using mailinabox.email scripts to setup and manage the server.

I've not had any problems (touch wood) with email delivery. You may have issues if your domain is new, it can take a few days for the big guys to accept email from you.

I say go for it, I think too many are worried about deliverbility and that just causes more centralisation.

load more comments (1 replies)
[–] sascamooch@lemmy.sascamooch.com 4 points 2 years ago (1 children)

As much as I enjoy self hosting my own services, email just seems like more trouble than it's worth. I let Protonmail take care of that for me.

load more comments (1 replies)
[–] enbee@dataterm.digital 4 points 2 years ago (4 children)

a bit late to the party here, but I didnt see iRedmail mentioned. been using this to host my own email on a VPS for a little over a year now and its great. for me its worth, you can absolutely make it secure, and its not stupid to run it off a local computer. unfortunately most ISPs make it insanely difficult to host on your home network.

load more comments (4 replies)
[–] amd@lem.amd.im 4 points 2 years ago

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.

[–] nick_99@sh.itjust.works 3 points 2 years ago (1 children)

I used to run my own using Modoboa. I've since switched to mxroute for my email.

load more comments (1 replies)
[–] ricecake@sh.itjust.works 3 points 2 years ago (1 children)

I have run my own email server, and have worked in the commercial web hosting sector.

Honestly, I wouldn't run your own email except as a side project.

It's certainly possible and all the tools are available and easy enough to use, but email in general is a rough combo of super old, and a "big target".

The super old part means that a lot of things that we might consider standard for a modern federated system just aren't there for email. Security is profoundly lacking, and if something gets dropped because of an update, or your computer crashed, there's no guarantee that the system will find a way to get it to you, and the sender might not even know it didn't get to you.

Security wise, you basically have to set everything up correctly all at once, or some system somewhere between you and the recipient will just throw the messages away, and they may or may not tell you.
They do this because all the tools are old, crufty and there's a lot of good exploits that misconfiguration leaves open that automated tools can use to send spam.

Be sure to keep your computer fully patched, and install a malware scanner, even on Linux.

Ultimately, I wouldn't bother running one because the ratio of reward to work is just off for me. I would recommend setting something up for an afternoon though, just so you can see how the pieces work, and get to send yourself an email and know what steps it took.

load more comments (1 replies)
load more comments
view more: next ›