Hey-ho 👋

What is the best approach for selfhosting an email server with static IP or blocked port 25?

I’ve done it many times in many different ways, now doing it again and want to hear what is the best approach these days

My port 25 isn’t even probably blocked, I just prefer to use my vps to help it with this stuff

Any suggestions?

16 points
*

Hosting email with mailcow dockerized worked pretty good on my netcup vps, but before you go into hosting email ask yourself a few questions:

  • Will you use your selfhosted mail for important things? (Banking, official correspondence and so on)
  • Can you promise a near 100% uptime? Otherwise, some email might not reach you.
  • How important is the Mail you send? Some (stupid) Blocklists generally block all IP ranges that are sold out by vps companies and other kinds of IAAS.
  • If you register any accounts with your selfhosted mail, can you guarantee yourself that your email account is secure? Don’t underestimate what an attacker can do with a compromised Mail account.

I personally ended up scrapping my email server eventually. Nowadays I pay a company to do the mail hosting, you just need to set some DNS records and they do everything else. Personally, I’m with proton, but there are many good alternatives.

permalink
report
reply
6 points

Ya I had to bail on hosting email, getting off of block lists and verifying that people even get your outbound email is near impossible at this point.

permalink
report
parent
reply
3 points

As i said i already have experience of hosting email, many different ways, etc

Will you use your selfhosted mail for important things? (Banking, official correspondence and so on)

I’m barely using email because have really few services that require an email (foss and selfhosting evangelism)

Can you promise a near 100% uptime? Otherwise, some email might not reach you.

I can promise you anything under these stars. And some of it would be true because my specialization is 0 downtime systems

How important is the Mail you send? Some (stupid) Blocklists generally block all IP ranges that are sold out by vps companies and other kinds of IAAS.

Never had any problems with the big hosters like do, linode, vultr, hetzner

If you register any accounts with your selfhosted mail, can you guarantee yourself that your email account is secure? Don’t underestimate what an attacker can do with a compromised Mail account.

Selfhosting for many years, never got hacked because I take security seriously

Nowadays I pay a company to do the mail hosting

I’m trying not to pay companies when not necessary, and especially not for a “setup service”

permalink
report
parent
reply
2 points

Alright, you seem to have a good grasp on what you’re doing. Good luck have fun. I really hope it works for you.

permalink
report
parent
reply
1 point

Can you promise a near 100% uptime? Otherwise, some email might not reach you. Just lol. Mail get queued just fine by everyone. If you really concern , setup second MX.

permalink
report
parent
reply
6 points
*

email is one of the only services i just gave up on (after rolling my own exchange for over a decade). its too annoyingly complex, tedious to do correctly for just yourself. its not worth it.

permalink
report
reply
1 point

I do it not really for myself, slow and steady i’m converting everyone I know to using my services

Sounds impossible, but some people already are using almost the whole suite and are happy. More and more people are asking if they can join.

The global sentiment is moving towards “tired of google”, “tired of paying for bad services”

permalink
report
parent
reply
4 points

Self hosting email on non-mission critical domain for learning purposes might be okay if your intention is to get into the industry. Self hosting email for others on more production like setting you’re going to find yourself in a world of pain.

All it takes is one missed email (be it not making into their intended recipient’s inbox, or them not receiving an important notice in their inbox) and you’re never going to hear the end of it.

You’d also be liable for content your users send out from your servers — and I don’t mean the spam type, though if you get your IP blacklisted, your provider may want to have a word with you.

I’d strongly advise against going down this path, but if you do, be sure to have ways to legally shield yourself from any sort of potential liabilities.

permalink
report
parent
reply
1 point

No problem, the world of pain is my hometown

permalink
report
parent
reply
1 point

Hosting your own email is a bad idea. Hosting OTHER PEOPLE’S email is a REALLY BAD idea. Self-hosting mail on a vanity domain is a good exercise to learn how SMTP, DNS, IMAP and other protocols interact.

If you don’t like Google, Apple, or Microsoft then sign them up with Proton or another hosted provider. You don’t want to be the reason someone lost income because they missed out on a critical email from a client or their job application was blocked because it was sent from a host with poor reputation.

permalink
report
parent
reply
4 points
*

You can selfhost the email server wherever you want. But you’ve to use some external system to deliver the email or you’ll end up in spam because your residential IP is most likely dynamic and already flagged by most email providers.

One way to do it is to get a VPS somewhere and setup Wireguard on it. Then configure your local system to bind to the Wireguard interface and IP so all email send and received using the tunnel. Dovecot doesn’t care what interface it is running on, Postfix has specific options that you can change in master.cf to accommodate the fact that it will be binding to the VPN IP and the real IP is the VPS public IP.

  1. Setup a install of Dovecot / Postfix / Rspamd on your local server: https://workaround.org/ispmail-bookworm/
  2. Start by setting up a Wireguard tunnel between your local server and the VPS: https://www.digitalocean.com/community/tutorials/how-to-set-up-wireguard-on-ubuntu-20-04
  3. Create a outgoing transport for the email that uses the WG tunnel and is aware of the VPS public IP:
out-wg      unix  -       -       n       -       -       smtp
 -o proxy_interfaces=188.xxx.xxx.xxx # the real public IP of the VPS
 -o smtp_bind_address=10.0.0.2 # the IP that your local server has on the WG interface
 -o inet_interfaces=10.0.0.2 # same as above
 -o myhostname=server.example.org # should match the PTR / reverse DNS entry on the VPS IP
 -o smtp_helo_name=server.example.org # should match the PTR / reverse DNS entry on the VPS IP
 -o syslog_name=smtp-wg
  1. Set your VPS firewall to NAT/forward incoming traffic on port 25, 587, 465 and 993 to the local server (wireguard client 10.0.0.2);
  2. Change main.cf to use the transport by adding: default_transport = out-wg.

That’s everything you need to get it going. Use https://www.mail-tester.com/ to debug if DKIM and everything else is properly setup at the end.

permalink
report
reply
2 points

Very nice walkthrough. Gonna bookmark this.

permalink
report
parent
reply
3 points
*

I’ve setup my email via a VPN to my own server.

  • DNS, mail, business web, cusromer web on VPSes (2, 1 primary, 1 secondary DNS only)
  • Personal email, incoming and outgoing via VPS, personal websites (all static) on local system (RPi 4 8GB)

This gives the advantage that your outgoing email always comes from the VPS ip address (pick a VPS provider that is trusted) and when your line is down, incoming email is cached on your VPS. It’s a tad of double work, but pretty secure. Even connecting to my employer to work from home is not a big issue. (and that connection is limited to it’s own vlan)

Also, with this method, you can route the mail into your network via port 26 when 25 is blocked or even set an outgoing vpn to your VPS and route the email that way. You’ll be provider independent at home. (I even have a private ipv6 /48 via a tunnel broker)

You’ll need to work a lot on your knowledge though, without DNSSEC, SPF, DKIM and DMARC the big 2 (Google and hotmail) will refuse your email.

permalink
report
reply
2 points

Do not try to host outbound mail on residential IP blocks, delivery will be really bad. Cheap VPS is same story. You best bet is VPS from some not well know provider, they may be avoid to be in blacklist in M$ and Google. Inbound mail is fine anywhere as so long as you can have port 25 open. DDNS works too.

permalink
report
reply

Selfhosted

!selfhosted@lemmy.world

Create post

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!

Community stats

  • 3.5K

    Monthly active users

  • 3.3K

    Posts

  • 71K

    Comments