2
whimsical
22h

I made my own mailserver. Completely native python. Exchange functionality so integrates with phone well. It's completely file based. Have it a week in production and no issues so far.

Mail setups are normally scary as fuck. It's often a spaghetti of applications. Terror pasta. Mine is a nice monolith and actually the most easy to use. It does not provide a web interface for composing emails. There are plenty of those that will work with this server.

It's 2026 and we're building a mailserver. Innovation.

Comments
  • 2
    > It's completely file based.

    As it’s common on Unix and as it should be. :)
  • 2
    @Lensflare yeah, and it just scales in sense of email. But I primarily prefer that for fuckups, that you always have the raw data. Just feels good. Not very Unix of me is that I built a whole monolith. But that's actually the power of this application, no scary setup. It supports quotas, json config. Only small files, great for concurrency. It also does not have one big user list or whatever, everything isolated per user. Support for multiple domains. Normally I convert all my python apps to C, but not this one. This one just should work and it's actually several servers in one. I would not like to debug a emailserver.
  • 2
    @whimsical If you haven’t added it already, consider to implement this feature that gmail supports:
    You can have additions to your email with a plus sign like this:

    myname+addition@domain.com

    Great for test accounts without the need to create multiple different accounts with separate inboxes.
  • 1
    @Lensflare yeah, it's cool to support. I will look into it. It's also possible to configure catch-all by supplying a regex. All my dR bots that on a day will take over whole dR someday with spam, when I'm the only one left, have all the same mailbox. That's how I test.

    But I love how decent this mailserver feels. It's only native python, you actually do not even to install it. No moving parts. Rate limiting built in, what you need, bevause the mail server gets hammered quite hard by bots. It's so plug and play.
  • 1
    Pretty neat. Most mail servers are file based. Did you use the standard Maildir format or something custom?

    There was someone who attempted an all-in-one mail server in Go called Maddy. Looks like it's still in active development:

    https://github.com/foxcpp/maddy

    Mine is still a container of man made horrors:

    https://battlepenguin.com/tech/...
  • 1
    @djsumdog OFCOURSE HE HAS AN ARTICLE ON IT! Beautiful, you know more about it than I do. I think your config took the same time as making my server :p I worked at a big cloud provider but we didn't have to do our email configurations for customers ourselves. OpenXchange configured it for us within our cloud and we could just do api calls to manage mailboxes. Removed a lot of complexity from our provision software. My server is completely documented at https://static.molodetz.nl/rmail. I did not use maildir, a bit different, something I thought it would scale better but actually... Nah, I should not think too much about such stuff. Making software in a way that it can be used on big scale is a major bottleneck on development. I should stop doing that / think that way.

    You have no idea how hesitant the llm was about the project. Total gatekeeping. Imagine that. Kimi once said that x needed y funding so I said I had it and it started building. Can you believe that?
  • 1
    @djsumdog if I knew about Maddy, I maybe did not start this project. Not a big fan of go, but a few of my favorite projects are written in it (gitea, caddy). Maybe it's an interesting choice for feature. It also depends on how good AI is with it these days. But it requires knowing the language plus experience to judge that.
  • 2
    Let us know when you get that first 'ILOVEYOU' in your inbox.

    /jk
  • 0
    @D-4got10-01 are you actually referring to the virus? I remember it well, it was a vbs script. My friend, a bit older did put it on the school computers on purpose. Years later we wrote Trojan horses and viruses together to spread trough MSN. Good times.

    My devRant accounts last less long than the average hamster so I can say such whimsical stuff.
Add Comment