Live data from Hacker News

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

github.com

91–100 of 115 posts

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

#92
post #87
post #83

Earlier quoted context omitted.

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?

If whitelisting is "application level" it's easier to diagnose with an "application (protocol) level" error.

That is rather than a timeout or connection refused, an smtp 550 or 530 error with exlenation (access/relay denied; client ip not in whitelist)?

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

#93

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 pref…

> What's the opposite of monolithic?

The web's answers for a suitable antonym seem inappropriate [0] (all referring to "small" rather than "many parts". I reckon megalithic is the way to go.

Although I've been hosting my own mail server (postfix/dovecot) for years I must admit that I treat most of its parts as a single black box. My head just doesn't grok the entirety of processes and the various sub components (spam, grey listing, filters).

I prefer monolithic every day. It's not hard to provide plugins that allow custom filtering/ spam etc, so the end result can easily be the same.

Especially for personal /small business servers, simplicity wins everytime IMHO.

[0] https://www.merriam-webster.com/thesaurus/monolithic

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

#95

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…

https://www.migadu.com/index.html

This seems good, however for 5+ it becomes expensive too.

Is this service related to what you linked?

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

#96

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…

There’s also Zoho Mail: https://www.zoho.com/mail/ — starting at €10.80/user/year.

I've been testing zoho mail for the last few months (in order to find a decent alternative to g suite, and not-so-expensive as fastmail)...and so far, zoho has been performing quite well. I certainly can not complain about the price; as i'm able to use their "lite" plan at $12 per user oer year.

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

#97

Earlier quoted context omitted.

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.

I happen to be running a test with them this week to see what deliverability looks like on their end. So far only 79% of their messages have been accepted for delivery by remote service providers. These are non-spam, non-transactional, typical business correspondence messages.

In their activity feed right now, SendGrid traffic is being blocked by comcast, GoDaddy, iCloud, and a cornucopia of smaller services.

Here's one of SendGrid's outbound IPs, listed on multiple RBLs used by other services: https://mxtoolbox.com/SuperTool.aspx?action=blacklist%3a167....

On the receiving end, I've had to deal with waves of spam from SendGrid for years, and it's especially difficult because they carry a mix of spam and legitimate traffic, so blocking them causes complaints and not blocking them also causes complaints.

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

#98

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 pref…

>Please say more

Default configuration runs everything as a single daemon. This has been done to minimize any management overhead, avoid the complexity and performance overhead introduced by IPC.

It is definitely possible to split things apart though - this is not something of a hard design decision. This is what LMTP is for, right? maddy can work as both LMTP server and client and also supports both server and client parts of Dovecot's authentication delegation protocol.

So you can do something like that: 1. maddy instance running SMTP on port 25, running inbound filtering and then doing transparent LMTP forwarding to ... 2. maddy instance running LMTP on some unix socket, delivering to local storage and providing access to it via IMAP, authenticating users using ... 3. maddy instance running Dovecot auth's protocol on some unix socket providing authentication service using some DB. 4. maddy instance running Submission, managing queue of outbound messages, trying delivery by forwarding them to ... 5. maddy instance running LMTP on some Unix socket, actually attempting outbound delivery.

In fact, you can also put any of these on separate VMs/containers or even physical systems. And if we add some load-balancing capabilities to SMTP client then it can be used to scale message processing (though a single daemon can already handle quite a lot of emails and users without problems).

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

#99
post #68

Earlier quoted context omitted.

As soon as there’s an IMAP/JMAP module that’s useable I’m going work on my email client concept again. I got far enough, receiving and displaying mail but IMAP is super frustrating to deal with. Maddy looks great though, I may start playing around with it.

I had similar issues where I wanted to remove IMAP complexity from client app, so I created a daemon proxy that sits between client and an IMAP server and “translates” REST API requests to IMAP commands: https://github.com/andris9/imapapi

Oh! I had your repo starred already!

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

#100
post #22

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…

Dreamhost offers email hosting for any number of addresses “free” (at no extra cost) in all plans except the starter plan, $4.95/mo. https://www.dreamhost.com/hosting/shared

They also have email hosting for $ 2 per account per month. Do you know what's the difference? What's the advantage if you can have unlimited e-mail accounts with web hosting?
Post reply on HN