Live data from Hacker News

Maddy: Composable all-in-one mail server in Go

github.com

81–90 of 115 posts

Re: Maddy: Composable all-in-one mail server in Go

#81
post #58

Is this a play on the name Caddy (the web server)?

Yes, it is. The project started as "Caddy for email".

As someone who uses and loves Caddy, I'm very excited about a mail server with a similar philosophy. I'm rooting for you!

That said, Caddy's killer feature for me was automatically configuring certs, that's what made me switch from Apache back when we were moving everything to HTTPS. I still don't fully understand how certs work, but fortunately I don't really need to. Until Maddy does this, it won't be a good comparison.

Also I would really appreciate some documentation for making this work with Caddy handling TLS certificates for me. I guess I'll file a bug about that.

Re: Maddy: Composable all-in-one mail server in Go

#82
post #74

Earlier quoted context omitted.

In what regards are Fastmail and Gsuite the only "real" options for email on your own domain? There are tons of other options. Mailbox.org, Migadu, Protonmail, Tutanota and Mailfence for example.

I've been using Posteo.de for a couple years now. Great service, E2E for everything, including contacts and calendar, and it's quite cheap (I think I pay €12/year).

You can't use your own domain though, AFAIK. Which means you won't be able to switch providers, which may or may not be a problem.

Re: Maddy: Composable all-in-one mail server in Go

#83
post #61

I've had a lot of discussions with technical-minded peers about how the only real options for email on your own domain are fastmail or gsuite, which work out to about the same amount of money for a family of 5+, which is a surprisingly large amount (imo worth it). This looks like something worth combining with alps[0] for easy self-hosted email. I might give it a go and ditch gsuite! [0] https://git.sr.ht/~migadu/alp…

alps was created by the same person who started maddy, by the way. It is not me. Just wanted to give a little tribute to the amazing person who put a lot of work into email libraries for Go: https://github.com/emersion/

Not sure if Maddy covers this use case specifically (I didn't see it covered in the documentation, but I figure it actually is possible).

I'm hoping to use a Golang-based application as a simple SMTP Relay, which also allows for ranges of IP addresses to be whitelisted to connect openly to it from within our campus network.

Basically, the scenario is as follows: a number of internal services are older and may not support the authenticated route so we can use Sendgrid directly and send emails securely, so instead we currently have them routed to an internal Windows server which is running an older piece of IIS functionality (it's an SMTP Server in Windows that can be turned on). That piece is configured to be open (so it can receive messages on Port 25) but is also limited to a set of IP address ranges that internal servers are using (so that it's not generally usable by just anyone inside our network) and is configured to send those received messages out using Sendgrid.

I found the following Goland project just a few months back that seemed promising: https://github.com/wiggin77/mailrelay

And I'll probably need to follow up with the developer again (or try and make the contribution back to the project on my own), but the main issue it had was that the IP range whitelisting wasn't available (and even whitelisting by specific IP addresses seemed problematic, so in my testing I had to keep it completely open for it to work as expected).

If Maddy can fulfill the need instead though I can give it a shot ;-).

Re: Maddy: Composable all-in-one mail server in Go

#84

When I last looked into setting up my own email server, I read that your messages ending up in the spam folder was almost inevitable if the receiver is using a major host (Gmail, iCloud etc.) Is that still an issue?

It's hit and miss. I've been running hosted mail services for years, both for myself and for a handful of other people and businesses. SPF and DKIM are pretty much required now, as are TLS/SSL. From there, it turns into a dice roll. Gmail is terrible about this; they have a totally opaque and very frustrating engine that sometimes filters messages into a junk folder and sometimes doesn't. Outlook.com uses a somewhat…

Anecdotally I have to disagree about Sendgrid. Have had no issues with them so far.

Re: Maddy: Composable all-in-one mail server in Go

#85
post #64
post #57

Earlier quoted context omitted.

My current position is that spam filtering is a whole another problem space so I am not trying to address it now while Maddy is a "single man show". P.S. As far as I am aware, redis is optional for rspamd. I certainly run it for @hexanet.dev email without having redis installed.

Look into doing greylisting. I do that for my own setup, and I've found it easily cuts down on the spam by at least 50% and that's without even looking at the email.

I’ve used greylisting for the last five years or so. I stopped doing so completely and moved to Fastmail. Greylisting delays, while unnoticeable with the contacts I frequently communicate with, were very annoying with new and one-off contacts, especially all sorts of confirmation emails from bank etc, which would often expire before greylisting allowed them in. Sometimes, emails were sent through cloud mailing systems, so coming from a different host each time they’d hit greylisting again and again and again.

Re: Maddy: Composable all-in-one mail server in Go

#86

I've had a lot of discussions with technical-minded peers about how the only real options for email on your own domain are fastmail or gsuite, which work out to about the same amount of money for a family of 5+, which is a surprisingly large amount (imo worth it). This looks like something worth combining with alps[0] for easy self-hosted email. I might give it a go and ditch gsuite! [0] https://git.sr.ht/~migadu/alp…

I've been running a couple postfix mail servers on aws for about a decade for my ecommerce company, transactional messages only. It needs to be properly configured, which is non-trivial. Over the years it has been necessary to request IP unblocks from a few providers. Delivering mail to microsoft domains (hotmail, outlook, msn, live) has been problematic, so those messages only are now being delivered though SES. Incoming messages are forwarded to free gmail accounts. I spend 20 minutes a week blocking spam, we get very little now. We use about 15 rbl lists, but I also manually block client domains, sender domains, and do some header checks. Email is important to me and I enjoy doing it this way. It's super cheap, I can use several domains, and I have full control of the mail process.

Re: Maddy: Composable all-in-one mail server in Go

#87
post #83
post #61

Earlier quoted context omitted.

alps was created by the same person who started maddy, by the way. It is not me. Just wanted to give a little tribute to the amazing person who put a lot of work into email libraries for Go: https://github.com/emersion/

Not sure if Maddy covers this use case specifically (I didn't see it covered in the documentation, but I figure it actually is possible). I'm hoping to use a Golang-based application as a simple SMTP Relay, which also allows for ranges of IP addresses to be whitelisted to connect openly to it from within our campus network. Basically, the scenario is as follows: a number of internal services are older and may not sup…

There is no IP whitelisting feature in maddy. I believe it is possible to do it using whatever off-the-shelf firewall you have on your system. Could you elaborate on the reasons it is not a viable way for you?

Re: Maddy: Composable all-in-one mail server in Go

#88
post #71
post #61

Earlier quoted context omitted.

alps was created by the same person who started maddy, by the way. It is not me. Just wanted to give a little tribute to the amazing person who put a lot of work into email libraries for Go: https://github.com/emersion/

Fantastic job to both of you! Really appreciate the high quality work you folks have been doing on maddy and the email libraries. Are you guys running migadu as well? I might just switch if you are related.

No, we are not running migadu. But you probably can give it a try anyway, they look pretty good.

Re: Maddy: Composable all-in-one mail server in Go

#89
post #67

When I last looked into setting up my own email server, I read that your messages ending up in the spam folder was almost inevitable if the receiver is using a major host (Gmail, iCloud etc.) Is that still an issue?

Yes and no. It certainly is possible to get good deliverability, but you gotta play by the rules (which is: all the RFCs). But when you do, there are also a lot of poorly configured email servers out there that don't comply to the RFCs at all, so email services need some tolerance to processing email from badly configured sources. It is almost always a compromise. It is easy to get an email server running initially,…

Thanks for the tool, i just used it to increase my grade.

Re: Maddy: Composable all-in-one mail server in Go

#90
Hi @foxcpp.

Project site says "all-in-one" (one daemon) to replace postfix, etc. Like sendmail?

Please say more.

For 20+ plus years I've been advocating for postfix instead of sendmail style architectures.

I don't know what to call the "one task, one process" style of postfix. What's the opposite of monolithic?

This tension is replaying (again) in the web services vs monolithic architecture debate.

Ironically, I prefer monolithic web apps over web services based designs. Contradicting myself.

I'd like to better understand when each style is better suited to the task at hand.

Post reply on HN