7 ms·
Stalwart All-in-One Mail Server (IMAP, JMAP, SMTP)
- ape4 3y agoIt could also include POP3 and LMTP (local mail transport protocol)
- jvdvegt 3y agoLooks nice! What kind of (server based) calendar could be used with this? Can e.g. Ldap be used for a shared/corporate address book?
- avhception 3y agoMaybe https://radicale.org/ https://radicale.org/ could fit the bill, CalDav as a calendar server and CardDav for contacts.
- nubinetwork 3y agohttps://news.ycombinator.com/item?id=32894429 https://news.ycombinator.com/item?id=32894429 https://news.ycombinator.com/item?id=34992978 https://news.ycombinator.com/item?id=34992978 https://news.ycombinator.com/item?id=35040256 https://news.ycombinator.com/item?id=35040256 https://news.ycombinator.com/item?id=36757296 https://news.ycombinator.com/item?id=36757296
- mewmew07 3y agowhat are those links for?
- djbusby 3y agoPrevious submissions of same project
- bozhark 3y agoReposts get relinked. I’ve always seen it as a good way to let people new to a topic see the full discussion that’s already occurred. You get more insight
- blooalien 3y agoMy question is; Why did it get down-voted to oblivion, despite it being a normal practice on other posts?
- LoganDark 3y agoit can be read as "this has already been posted" instead of "prior art" when the latter isn't explicitly specified
- freedomben 3y agoMy guess is usually when I see it, there's at least a single word description with it, such as "dupe" or "see also:"
- Nux 3y agoVery nice! Would love some docs on anti-spam though.
- mewmew07 3y agoI think some of the entries in the Inbound section will inform how to deal with spam, I saw some references to spam assassin there. https://stalw.art/docs/category/inbound https://stalw.art/docs/category/inbound
- tankenmate 3y agoIn particular the DATA (or BDAT) stage configuration; it runs a command and send the headers / data to stdin and receives back the modified message from stdout. https://stalw.art/docs/smtp/inbound/data/#content-filters https://stalw.art/docs/smtp/inbound/data/#content-filters
- deleted 3y ago[deleted]
- carstentr 3y agoIsn't the major pain - 24x7 running - spam - security rather then proof-of-concept?
- ttul 3y agoThose are definitely “step two” once you have managed to get the relevant services running. Fortunately, spam and basic phishing filtering isn’t too hard at small scale. You can get free access to very high quality blocklists for non-commercial use and you can use rspamd’s fuzzy hash API and various phishing URL data sources for free as well. The really hard thing is to self host outbound email delivery. You almost have to use a relay service to get mail delivered these days. Most IPs at cheap hosting services are in a bad neighborhood and will be treated poorly by association. On the other hand, most transactional email services have a generous free tier that would work for a lot of self-hosted setups. Relaying through MailChannels is free with no volume limits if you do it via Cloudflare Workers. Would be nice to see someone merge that with this project as an option.
- flipbrad 3y agoSuper exciting. This may become my selfhosting project for the year ahead...
- candiddevmike 3y agoAnyone know how this compares to Maddy (written in Go)? Seems like Stalwart has more features just from a cursory glance
- Avamander 3y agoEDIT: Missed a section of the readme. Ignore the following. Maddy mentions actual security features (DMARC, MTA-STS, DANE, DNSSEC, DKIM) in its overview and compatibility with rspamd etc. (which is rather vital if you want to properly handle spam).
- cuu508 3y agoMaddy (also) has a single maintainer. Development activity seems to be low, but the couple PRs I submitted (documentation fixes and cleanup) did get accepted.
- eddieroger 3y agoOf note, this project also has one maintainer. It is cool to see individuals interested enough in mail to be putting effort in to it these days. > Stalwart Labs Ltd. is a very small team consisting of just one developer, who has been implementing email software in C since the mid-90s. https://github.com/stalwartlabs#team https://github.com/stalwartlabs#team
- ttul 3y ago
- patchtopic 3y agocan this handle multiple email domains on the same server? i.e. mary@domaina.com and mary@domainb.com as different email accounts?
- StalwartLabs 3y agoYes, see https://stalw.art/docs/faq#how-do-i-add-a-new-domain https://stalw.art/docs/faq#how-do-i-add-a-new-domain
- patchtopic 3y agonice!
- ocdtrekkie 3y agoFantastic to see JMAP support right from the start!
- gumby 3y agoAre there any clients of note?
- ocdtrekkie 3y agoThis is the chicken and egg problem. It is far easier to write a good JMAP client than a good IMAP client, but we need servers and providers to support JMAP before it makes sense for app developers to write clients with JMAP.
- chewmieser 3y agoApparently Stalwart provides a rust library as well to interact with JMAP if anyone was looking to write a client... https://github.com/stalwartlabs/jmap-client https://github.com/stalwartlabs/jmap-client
- heliostatic 3y agoIn the terminal, I use aerc, which added jmap support recently. Currently only available on master, but a new release should be out soon: https://git.sr.ht/~rjarry/aerc/commit/be0bfc1ae28b49be6546626ff9eaadce5464a6c8 https://git.sr.ht/~rjarry/aerc/commit/be0bfc1ae28b49be654662...
- xoa 3y agoDefinitely exciting to see another very promising modern mail server option that seems to really be developing nicely. The major pain of self-hosting email for a long was ensuring delivery, but with SMTP relay services also getting quite slick that doesn't seem as much of a blocker anymore. Also means being able to clamp down even more tightly on the mail server at the network level as well as its own security since it only needs to talk out to the relay service and nothing else. In an ideal world there'd be a real solid secure DNS and in turn full e2ee email-like standard itself, and authentication could at least be one by certs in DNS. But in the meantime email still fills an important role, and perhaps enough layers of options will get us close. After the Gandi.net sellout most recently this feels like propitious timing to me, I really dislike the typical email service pricing models. Paying just for the domains and relay, both of which are trivial to swap around at will, and then otherwise having that on my own infrastructure certainly feels attractive to try firing up again at least for a handful of domains.
- aidenn0 3y agoCan you recommend any SMTP relay services? I've been interested in self-hosting for a while, but building reputation to get reliable delivery seems like a full-time job.
- technothrasher 3y agoI've tried a few of the free or low cost ones and have found direct from my mail server provides better deliverability in all cases. I'm not sure how well the more expensive ones would do, although one would hope it would be better.
- bityard 3y agoI've looked into this extensively and there are essentially four options: 1. Self-host on a reputable VPS provider. Deliverability is usually not a problem if your provider actually takes action against spammers on their network. They tend to work pretty hard to keep up the reputation of their IP space. I have self-hosted my own email for well over a decade on providers like these with no serious issues. It's not generally too hard to test the reputation of an IP/domain before putting it into production. 2. You can use a dedicated SMTP relay service, but these are usually quite expensive and their customers tend to be bulk email senders for blasting out marketing wank. You probably don't want your domain to be associated with these anyway. 3. Another option is to buy a full-fledged email account from any of the common providers and just use their SMTP servers. (Make sure to set your SPF records appropriately.) Not expensive but typically far from free. And it seems silly to self-host your mail if you're literally paying a company to provide the same service... 4. This is less "self-hosted" but the cheapest and most reliable way to get your email out is to sign up for a cloud account at any of the major providers and just use their SMTP relays. Most will allow you to send from outside their network, after proper authentication is set up. Unless your monthly email volume is north of 4 figures, it will likely be free or cost pennies per month. Don't forget that amongst email providers reputation is a thing, and if you go out and purchase a domain, it may be some time before you can actually use it. Lots of providers specifically penalize domains younger than X months old, they will "graylist" IPs that haven't talked to them before, and a few will flat-out blacklist entire gTLDs known to be heavily used by spammers.
- Daril 3y agoCongratulations! Very interesting project ! I have been running my own servers with ISPConfig with PostFix and Dovecot for many years, but this modern all-in-one solution seems better integrated and complete. As others have commented, rspamd integration would be a great addition, although I think using Proxmox Mail Gateway instead would give more control with more ease. Proxmox doesn't need any special integration. It works like a firewall for mail.
- Daril 3y agoOther important additions would be user mail encryption with GPG and synchronisation of multiple servers to build a fault tolerant service.
- geocrasher 3y agoISPConfig, unless they've changed it, is a very dangerous control panel. ISPConfig3, at least, runs the control panel as a vhost on the same Apache instance as the users, which is Very Bad. I actually wrote an article a few years ago that roasted it pretty hard. Try Virtualmin for a more robust, secure control panel.
- Daril 3y agoNo, they didn't change it. It is one of its drawbacks. I enforced the security with SSL client authentication.
- geocrasher 3y agoThe problem is that the server can be configured from userspace. There's even a (horribly outdated) WordPress plugin for setting up email address from within WordPress. Super insecure, no matter how much SSL you throw at it.
- Daril 3y agoI'm sorry, but I don't really follow. This tool, like many others, was created for exactly this purpose: to configure the server from userspace. The ISPconfig web interface doesn't write directly to the server. It creates a series of tasks that are executed in the background by another process with different privileges (and you are limited to a list of predefined tasks, you cannot do an "rm -rF /"). So... I don't think it's possible to run arbitrary code through the ISPConfig web interface, because it runs with the limited privileges of a PHP FPM process that writes a task to the database queue, which is later read and executed by another process. The main problem for me is when the web server (Apache or Ngnix) fails to start or restart for some reason. In this case you are cut off from the ISPconfig interface and forced to fix things by hand.
- uvesten 3y agoYay! I’m just about to set up a couple of new domains, and was procrastinating because email. This looks perfect, something new to play with and get email set-up done at the same time :)
- huslage 3y agoWhy is this not set up to filter spam out of the box? It's not really an optional thing at this point, and writing Sieve scripts that work well is not necessarily easy.
- chewmieser 3y agoIt at least seems pretty easy to integrate with rspamd or spamassasain etc: https://stalw.art/docs/smtp/inbound/data/#spam-filtering https://stalw.art/docs/smtp/inbound/data/#spam-filtering
- Avamander 3y agoBecause it's kinda difficult to make the choice how it should be done, especially as it depends on scale. Though it's not that difficult to get a well-working rspamd setup.
- maxpert 3y agoAmazing I was just looking for a good mail server to configure for my demo. Which reminds me since you folks have mentioned LiteStream, have you tried Marmot (https://github.com/maxpert/marmot); https://github.com/maxpert/marmot); I recently configured Isso with Marmot to scale it out horizontally (https://maxpert.github.io/marmot/demo https://maxpert.github.io/marmot/demo). I am super curious what kind of write workload on a sub thousand people organization will have and if Marmot can help scale it horizontally without Foundation DB. I always find the the convenience of SQLite amazing.
- yubiox 3y agoDoes it come with a delivery agent like procmail or maildrop? Does it use maildir or mbox or its own mailbox format?
- zie 3y agoIf you read the readme, it clearly covers this, it delivers to Maildir or blob storage like S3, your choice.
- yubiox 3y agoClearly? I searched for maildir and mbox, my browser can't find either on that page. What does cloud storage have to do with the MDA?
- jonas-w 3y agoIt is not directly in the README but there is a link in it to a getting started guide [0] which covers this. The user "zie" probably got it confused with the README. [0] https://stalw.art/docs/get-started/ https://stalw.art/docs/get-started/
- drdaeman 3y agoStorage options: https://stalw.art/docs/get-started#supported-blob-stores https://stalw.art/docs/get-started#supported-blob-stores On the first glance it seems that it's designed in a easily extensible way, so new storage options shouldn't be hard to add (https://github.com/stalwartlabs/mail-server/blob/main/crates/store/src/blob/mod.rs https://github.com/stalwartlabs/mail-server/blob/main/crates...) Given it's all-in-one thing, MDA/LDA is integrated, to best of my (very shallow, just ~30 minutes haphazardly checking docs and source code) understanding there is no separate delivery agent program sitting in-between the components, it's all a single process, but it has places where you can hook arbitrary external filters/transformers (https://stalw.art/docs/smtp/inbound/data#content-filters https://stalw.art/docs/smtp/inbound/data#content-filters)
- mzs 3y agosome comments from the folks responsible yesterday here: https://news.ycombinator.com/item?id=36757296 https://news.ycombinator.com/item?id=36757296
- freedude 3y agoIt is new, but it would be interesting to see a list of customers using the system. One concern is that Email is designed to be highly modular in the UNIX sense. Does this eliminate some of this modularity? For, instance can I still use Dovecot for IMAP, POP3 if I want?
- xmichael909 3y agoThanks, this looks great, I hope to see a turnkey linux VM of it one day!
- darkclouds 3y agoLooks interesting, but something I always look for, is what it doesnt do and then try to find out why, partly because I'm not up to date with all the RFC's, so I couldnt tell straight away if those RFC's are the latest, proposed or deprecated.
- deleted 3y ago[deleted]