27
submitted 1 year ago* (last edited 1 year ago) by Jerry_Steiner@lemmy.sdf.org to c/selfhosted@lemmy.world

Hi,

I would like to host my own email server.

I know the pros and cons of doing so, please do not post about the advantage or disadvantage, there is others open topics for it.

I would like my setup fit those "requirements"

  • FLOSS
  • Be able to create complex rules for incoming/outgoing email ( with ๐Ÿ Python language preferably ).
    • based on any properties (subject, ip, header, size, attachment, signed, encrypted, etc.. )
    • able to modify, delete, fw, etc... the email
  • Manage the limit of sending by size and number of outgoing over time (min, hours, week, etc..)

ย 

If you know a matrix comparison between email servers I'm all ears.

If you have any feedback with a solution this is most welcome too.

I plan to update this post to create a matrix/spreadsheet of all the solutions that I'll gather.

Thanks.

all 16 comments
sorted by: hot top new old
[-] Shimitar@downonthestreet.eu 15 points 1 year ago* (last edited 1 year ago)

See my personal notes. I do selfhost mail server, but on a vps to have a good IP

Being doing so for 20+ years and recently rebuilt the entire stack.

See https://wiki.gardiol.org/doku.php?id=email%3Astart

In short, I use postfix+dovecot, with opendmark and opendkim. Setup proper DNS email specific records and a few more steps.

Overall it runs fast and perfect on 4gb ram very old dual core atom CPU.

[-] hddsx@lemmy.ca 3 points 1 year ago

Too lazy to read wiki link, but I too postfix/dovecot

[-] tfowinder@lemmy.ml 9 points 1 year ago

I have heard people have successfully utilised Mailcow without any issues for many years.

Personally gave it a try once but setting up ports, firewalls, virus scans, anti spams, dns felt too much effort for what I was going to use it for

[-] ikidd@lemmy.world 2 points 1 year ago

Using Mailcow for years now, love it, but I don't think it checks the custom scripts box of OP. Since it's all containers, you'd have to do some custom bind mounts to hook the underlying containers and keep the scripts, which might have some unintentional consequences depending on the upgrade.

[-] nixx@lemmy.ca 1 points 1 year ago

I second Mailcow. I use it on a residential IP and have a smarthost for relaying in/out since my isp blocks port 25.

For relay, I use mxroute.com, I have a lifetime account and Mailcow has a fetchmail option.

[-] Theoriginalthon@lemmy.world 7 points 1 year ago

Postfix and write a milter (mail filter), you can get them to interact a various points in the mail delivery.

I think most things can be accomplished within postfix

[-] aksdb@lemmy.world 7 points 1 year ago

Use Stalwart as mailserver. Besides coming with sane defaults, it allows to put hooks into almost every mail stage. Those hooks can be sieve scripts, local binaries or http calls.

[-] jlh@lemmy.jlh.name 1 points 1 year ago

Yeah Stalwart seems to have a lot of momentum, I'll probably be setting up a server with my kubernetes+ceph cluster this month.

[-] 2xsaiko@discuss.tchncs.de 1 points 1 year ago

From its web page it sounds like it is both a MTA and MDA, has a built-in spam filter, plus has calendar, contacts and file storage. Do you know how it compares to my current setup of Postfix, Dovecot, and rspamd (and Nextcloud for the others)?

[-] aksdb@lemmy.world 2 points 1 year ago

Well exactly as you say: it's a single service instead of having to combine multiple. In my case dovecot was a lot faster for my mailboxes, but postfix was a piece of shit and I was happy to get rid of it and the many components (rspamd, dkimproxy, etc.) it required. It has far too many footguns, and I shot myself multiple times with them over the years. So the most important part (SMTP) is significantly simpler and IMO better with stalwart. And the mailbox part hopefully evolves as well (it already has JMAP, so that is already an advantage over dovecot as well).

[-] 2xsaiko@discuss.tchncs.de 1 points 1 year ago

Tbh I haven't had too many problems with Postfix โ€“ however it is certainly a footgun and it would be nice to have fewer parts to connect together, and better defaults. I might try it out, it looks interesting.

[-] InverseParallax@lemmy.world 2 points 1 year ago

Ran the stack manually for decades, but spam makes it harder.

Run mailinabox now, it takes care of everything pretty well.

[-] quelsh@programming.dev 1 points 1 year ago

Modoboa is made with Django iirc, so that might be a good starting point

[-] A_norny_mousse@feddit.org 1 points 1 year ago

All your requirements are a given, except for wanting to do things in Python.

[-] Lyricism6055@lemmy.world 0 points 1 year ago

I definitely don't suggest self hosting email unless you don't care about losing messages occasionally

this post was submitted on 25 May 2025
27 points (86.5% liked)

Selfhosted

61790 readers
500 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS