HNHacker News
TopNewBestAskShowJobs

StalwartLabs

433 karma · joined April 14, 2022

submissionscomments
StalwartLabs··on Sievepad: Write and debug Sieve scripts in the browser
Sievepad is built on Monaco (the editor component behind Visual Studio Code) and executes scripts with sieve-rs, the interpreter inside Stalwart, compiled to WebAssembly.
StalwartLabs··on JMAP for Calendars, Contacts and Files Now in Stalwart
Stalwarts supports the latest EmailPush draft too, although it is not announcing it in the JMAP capabilities.
StalwartLabs··on JMAP for Calendars, Contacts and Files Now in Stalwart
There is a new section in the documentation discussing upgrades:

https://stalw.art/docs/install/upgrade/

The goal is to stabilize the database layout/configuration format very soon so v1.0.0 can be released (hopefully before Q1/Q2 2026).

StalwartLabs··on JMAP for Calendars, Contacts and Files Now in Stalwart
This will get better soon. The next step on the roadmap is to refactor the configuration format and migrate most APIs to JMAP.
StalwartLabs··on Thunderbird: Fluent Windows 11 Design
Soon Thundermail by Mozilla!
StalwartLabs··on Calendars, Contacts and Files in Stalwart
Thanks! :-)
StalwartLabs··on Calendars, Contacts and Files in Stalwart
I want to clarify that Stalwart can absolutely be compiled without any proprietary code. All you need to do is omit the Enterprise feature flag during compilation [0], and what you get is a 100% AGPL-3.0 build. The Arch package removal wasn’t because the software suddenly became non-free, but rather due to a packaging requirement: Arch needs a clean separation of the Enterprise code from the source tree, and that’s something we haven’t done yet (it will be implemented as a script). The delay isn’t due to any unwillingness to comply, it’s simply been a matter of prioritization. Over the past few months, the focus was on delivering major features like WebDAV support. That said, I'm still fully committed to resolving the packaging issue because we want Stalwart back in Arch as much as you do.

It’s also worth noting that only about 5% of the codebase is Enterprise, and that small slice helps fund ongoing development and expansion of the team [1]. As much as I'd love to be completely sponsor-funded, the reality is that open source projects still need to cover real-world costs. For what it's worth, Stalwart has received two NLNet grants [2] [3] to support open protocol work, which hopefully reinforces our commitment to open source.

So while the optics of this situation may look rough from the outside, I promise it’s not some “open source in name only” kind of thing. It’s just one of those painful balance acts between building features, maintaining packages, and paying the bills.

And hey, if you're heading back to Maddy, no hard feelings. But the door’s always open if you want to give Stalwart another shot down the road.

[0]: https://stalw.art/docs/development/compile [1]: https://stalw.art/compare/#faq [2]: https://nlnet.nl/project/Stalwart/ [3]: https://nlnet.nl/project/Stalwart-Collaboration/

StalwartLabs··on Calendars, Contacts and Files in Stalwart
Thanks for follow-up. You're absolutely right that there's a distinction between privacy and anonymity. However I just want to clarify that my decision to keep a low personal profile online stems from a deep belief in privacy, not secrecy.

To give you more context about the project: Stalwart Labs was indeed started and is currently led by a single developer: myself. I have over 30 years of experience working with email technologies and have previously founded three email-related companies.

That said, I’m not working entirely alone. While I’m the core developer and founder, there are others involved in Stalwart Labs today handling support, sales, and maintaining smaller parts of the codebase (mostly changes required by clients). My plan is to continue leading development myself until the project reaches version 1.0, which I hope will happen later this year. After that milestone, the goal is to gradually expand the development team, particularly to support work on a Rust-based webmail and calendar interface that will complement the mail server.

Stalwart’s development has been largely self-funded, aside from two NLNet grants. I’ve been growing the team organically and intentionally. While I have been approached by two VC firms, I’ve chosen to decline their offers. Not just to avoid external pressure (and stress), but also because some proposed directions conflicted with promises I’ve made to the community. For example, there have been suggestions to move some open-source features behind a paywall, which I’m against and promised the community never to do.

As for enterprise support, yes, Stalwart Labs offers an enterprise license that includes premium support services. And regarding adoption, I'm happy to say that there are currently a few hundred enterprise clients using Stalwart in production. While I would need the clients' permissions to share their names, I can say that Mozilla Thunderbird is one of them. They’ve publicly announced their upcoming launch of thundermail.com, which is powered by Stalwart.

I hope that gives you more clarity and confidence in the project. Thanks.

StalwartLabs··on Calendars, Contacts and Files in Stalwart
I understand your perspective, many open source communities are built on transparency, and it's natural to want to know the people behind a project.

That said, I personally value privacy highly, which is actually one of the main reasons I started Stalwart Mail Server. I don't maintain a personal presence on LinkedIn or other social media platforms, not because I'm trying to be anonymous, but because I prefer to focus on the work rather than promoting myself. I’ve found that platforms like LinkedIn are more noise than signal for me, especially with constant recruiter spam.

That being said, Stalwart Labs as a company is far from hidden. You can find our company page on LinkedIn here: https://www.linkedin.com/company/stalwartlabs/. We're also active on:

* Mastodon: https://mastodon.social/@stalwartlabs * Twitter/X: https://x.com/stalwartlabs * Reddit: https://www.reddit.com/r/stalwartlabs/

While I may not be putting my personal life on display, I’m committed to transparency where it matters most: through the project’s code, documentation, and community engagement. I hope that helps clarify things!

StalwartLabs··on Stalwart mail server (self-hosted all-in-one mail server) now as an admin webui
On Stalwart you can implement masked e-mail using address rewriting:

https://stalw.art/docs/smtp/rewrite/address

StalwartLabs··on Encryption at Rest with S/MIME or OpenPGP Added to Stalwart Mail Server
Hello HN,

Excited to announce that Encryption at Rest has just been added to the open source Stalwart Mail Server. With this addition, the mail server will now automatically encrypt all incoming plaintext emails, utilizing either OpenPGP or S/MIME, before they are written to disk. Importantly, the keys are owned and controlled by the end user, ensuring that not even system administrators can decrypt these messages.

I'd love to hear your thoughts and feedback. Thanks!

StalwartLabs··on Stalwart All-in-One Mail Server (IMAP, JMAP, SMTP)
Yes, see https://stalw.art/docs/faq#how-do-i-add-a-new-domain
StalwartLabs··on All-in-one JMAP, IMAP and SMTP server written in Rust
This is a new repository combining multiple older repositories. Development started on October 2021, here is the first commit: https://github.com/stalwartlabs/mail-parser/commit/c5ed27bb1...
StalwartLabs··on All-in-one JMAP, IMAP and SMTP server written in Rust
Virus scanners and spam assassin can be configured as content filters:

https://stalw.art/docs/smtp/inbound/data#content-filters https://stalw.art/docs/smtp/inbound/data#spam-filtering

StalwartLabs··on All-in-one JMAP, IMAP and SMTP server written in Rust
Migration instructions are now here:

https://stalw.art/docs/management/migrate

StalwartLabs··on All-in-one JMAP, IMAP and SMTP server written in Rust
> Is there a great demand for jmap amongst your customers?

Only from enthusiasts, the main problem is that there are very few email clients supporting JMAP. Big players such as Google and Microsoft do not seem interested in JMAP so adoption has been painfully slow so far.

> What is stalwarts relationship to Fastmail, do they use stalwarts software?

No relation. Fastmail uses Courier IMAP as far as I know.

StalwartLabs··on All-in-one JMAP, IMAP and SMTP server written in Rust
Hi HN!

I'm excited to announce the release of Stalwart Mail Server, a single binary solution that combines the Stalwart JMAP, Stalwart IMAP, and Stalwart SMTP servers into one easy-to-install package.

In response to your feedback, some key enhancements were made. Stalwart Mail Server now supports LDAP and SQL authentication, providing seamless integration with your existing infrastructure. For single node setups, RocksDB has been replaced with SQLite with the option of using LiteStream for replication. For larger, distributed setups, support for FoundationDB was added, letting you scale to millions of users without sacrificing performance. Additionally, it is now also possible to store your emails in an S3-compatible storage solution such as MinIO, Amazon S3, or Google Cloud Storage.

Other notable updates include support for disk quota, subaddressing (or plus addressing) and catch-all addresses.

Check it out here: https://github.com/stalwartlabs/mail-server

I look forward to your feedback and questions!

StalwartLabs··on JMAP – a modern email open standard
> These tools do not integrate with anything; in the case of Stalwart (the only JMAP server not in "experimental" status) you can't just install a JMAP server attached to an existing email service; you have to hand it complete control of everything, even unto the on-disk storage of mail.

This point you mention is being improved. The next release of Stalwart JMAP (expected in one or two months) will delegate user management to either a SQL database or an LDAP directory. Messages will be stored in either Maildir or MinIO/S3. And all other information will be in either SQLite or FoundationDB. All these features were already implemented except MinIO/S3. Development progress can be tracked at https://github.com/stalwartlabs/mail-server/tree/main/crates...

StalwartLabs··on Gluon, a high-performance IMAP library
Mostly Fastmail but there are also a few open-source projects that support it https://jmap.io/software.html
StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
Yes, I have set up Github Sponsors already. Hopefully it won't be necessary to seek VC funding.
StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
> How are application-device-specific passwords handled? Is there some documentation?

Not sure what do you mean with application device specific passwords? Currently Stalwart JMAP only allows registered accounts to login using a password which is stored encrypted with Argon2. Authentication can be done using the OAuth or Basic mechanisms. There are no additional passwords specific to a particular device. Not sure if this answers your question though.

StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
Yes, SASL support is planned. SQL auth support could be added as well if there is interest.
StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
Migration instructions are covered here:

https://stalw.art/jmap/migrate/overview/

StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
For the moment, it's just one person (myself). I've been working on this project for the last year. I started a company in order to be able to receive donations and hopefully raise some money from YCombinator or VCs.

My long term plan is to make an open source alternative to Google Workspace (not just e-mails and calendars but also Documents, Spreadsheets, etc) but I won't be able to do all that by myself so that is why I'll start looking for funding in the near future.

StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
> What's the backup story like? Can the whole state be restored from the mail storage (I assume not)? Do you support "master users" (as in dovecot) so that I can do a continuous backup with dovecot sync?

At the moment backing up the raw messages can be done by copying the blobs directory. However backing up the metadata (which is stored on RocksDB) is not yet supported but will be added on the next release. RocksDB has support for checkpoints and backups so adding the backup functionality is pretty straight-forward. In Stalwart JMAP there is a single master user which is the administrator. Continuous backup will be implemented as a housekeeper task which can be run on a schedule or manually triggered by the administrator.

> Is it possible to use any OIDC server on the IMAP proxy?

The IMAP proxy supports the OAUTHBEARER authentication scheme but using third-party OIDC server is not supported at the moment. However, once the SMTP server is out I plan to add support for other SASL mechanisms on the IMAP proxy (since some of the work will be shared with the SMTP Auth module).

> Do you support password authentication for legacy applications (preferably application and device specific passwords)?

Yes, the IMAP proxy supports both the LOGIN and AUTH=PLAIN mechanisms.

> Also, is it possible to export the mails and the state, so if this project does not work out, there is a way out?

E-mails can already be exported by copying the blobs directory (only the raw messages are stored under that directory). To export the metadata and folder structure any IMAP backup tool or service could be used.

StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
> Can you talk a bit about how data is replicated between nodes when Stalwart is run in clustered mode, and what kind of data integrity/resilience properties we have when one, two, several nodes go down?

Data is replicated using the Raft consensus protocol and when multiple nodes go down the cluster will keep keep active unless there are not enough nodes to guarantee consistency. More details can be found on the documentation [1] but I plan to add more details on how replication works once the server passes the Jepsen tests.

> Also, have you considered implementing server-side encryption of e-mail messages so that a "honest but curious" system administrators could not read user's messages? (e.g. using the user's password to derive an encryption key). More generally, what are your thoughts on the "privacy" aspect?

Yes, in addition to server-side encryption also S/MIME and PGP are on the roadmap.

[1] https://stalw.art/jmap/cluster/quick-start/

StalwartLabs··on Show HN: Distributed JMAP and IMAP Servers in Rust
> Or, more generally, what is your approach to ensure compatibility / integration with the existing email ecosystem?

Yes, Stalwart IMAP server's compliance to the IMAP4 protocol was tested using Dovecot's ImapTest tool.