frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

JMAP for Calendars, Contacts and Files Now in Stalwart

https://stalw.art/blog/jmap-collaboration/
138•StalwartLabs•3h ago

Comments

pluto_modadic•2h ago
if they pull out the AI stuff that'll be soooo cool :D
jasonriddle•2h ago
What AI stuff are you referring to? I just learned about this project from this blog post, so I don't have the full context on their AI work.
doublerabbit•2h ago
It seems the enterprise edition has AI features and the community version doesn't. So if you don't want AI, use the community version.

https://stalw.art/compare/

antx•23m ago
From the site [0]:

> Stalwart Enterprise leverages AI technology to provide unparalleled email security and management. With AI-powered features, Stalwart Enterprise excels in accurately classifying spam, detecting sophisticated phishing attempts, and blocking various types of network attacks. This intelligent approach ensures that your email environment remains secure and reliable. Stalwart Enterprise comes equipped with a pre-trained large language model (LLM), offering robust out-of-the-box protection. Additionally, it supports integration with leading AI providers such as OpenAI, Anthropic, and other cutting-edge platforms, allowing you to enhance and customize your security measures. By utilizing AI, Stalwart Enterprise delivers a smarter, more efficient email solution that proactively safeguards your communications and data.

[0]: https://stalw.art/enterprise/

batisteo•2h ago
Do you mean the spam detection algorythm or something else?
lifty•1h ago
Why does the optional (supported only in the enterprise version) feature bother you?
9dev•1h ago
While JMAP seems to scratch every itch of a sucker for proper web API design, I’m wondering if the design space for new protocols should really be constrained to layers on top of HTTP. Is there really any new-ish binary protocol these days? Stuff like file sharing or groupware, mail, calendars, and so on—these things could be a lot more efficient and don’t really need the overhead of JSON as the message interchange format, IMHO. Then again, a lot of solid thinking went into these things, so there probably are a lot of good reasons that I’m not aware of.

Still, it’s an interesting space, I think.

WorldMaker•1h ago
> binary protocol

Email was never a binary protocol. Notoriously so, it's why MIME types and MIME encodings get so complicated.

Most of the "old internet" protocols (email, FTP, even HTTP itself) were bootstrapped on top of built-mostly-for-plaintext Telnet. HTTP as the new telnet has a bunch of improvements when it comes to binary data, request/response-based data flows, and some other considerations. HTTP/3 is even inherently a binary protocol, it's lack of "telnet-compatibility" one of the concerns about switching the majority of the web to it.

vCard/vCal/iCard/iCal were also deeply "plaintext formats". JSON is an improvement because it is more structured, even more efficient, than those predecessors. JSON may not look efficient, but it compresses extremely well and can be quite efficient in gzip and Brotli streams.

I feel like "JSON over HTTP" is a subtle improvement over "custom text formats over telnet", even if it doesn't sound like "binary protocol efficiency" at first glance. Especially as HTTP/3 pushes HTTP more efficient and more "binary", and arguably "more fundamental/basic" with HTTP/3 even taking over more roles in the TCP/UDP layer of the internet stack. (Telnet would never try to replace TCP.) HTTP isn't the worst bootstrap layer the internet could use to build new protocols and apps on top of. Sure, it would be neat to see more variety and experiments outside of the HTTP stack, too, but HTTP is too useful at this point not to build a bunch of things on top of it instead of as their own from-scratch protocol.

p_l•57m ago
A lot of the textual nature of older IETF protocols, including the CR LF line endigns, can be probably traced to how easy it was to bang out a bad implementation full of subtle problems that could be debugged by sitting an undergrad student at a teletype instead of spending time on having some binary serializer (that telecom companies definitely had money for)
JoshTriplett•56m ago
Yeah, a fair bit of email protocol reeks of "is this tolerant of `telnet mailserver 25` and whatever garbage that might produce".
p_l•53m ago
A lot of old RFCs explicitly mention running on top of TELNET.

Additionally, as much people like to harp about "telcos focusing on connection-oriented protocols while we ran loops around them with packets", the reality is that NCP and later TCP pretty much focused on emulating serial lines around, and one of the earliest ways to access ARPAnet outside of machines directly on it was through calling into a TIP which set up bidirectional stream from your modem to a port on some host.

cyberax•10m ago
It's also a reflection of the state-of-the-art at the time. Binary protocols were an unmitigated disaster, with standards bodies thinking that applying to the ISO for your organizational ID is a perfectly fine step that anyone does anyway.
p_l•51m ago
Another point is that the use of HTTP for everything, outside of the issue of middle boxes breaking protocols for everyone, is that it's essentially capitulation to the wisdom of OSI multi-layered protocols - we replicate their feature sets by reusing bits and pieces of HTTP spec all the time.
wmf•28m ago
I wonder if you could transparently upgrade to CBOR over HTTP/2.
lifty•1h ago
It’s such a breeze to self-host your own email server using Stalwart. It has been a new era for email self-hosters like myself since these kind of fully integrated email servers like Stalwart appeared. Another good one but not as actively maintained is Maddy.
zenmac•1h ago
Yes, are there any decent JMAP web mail client that we can use?

I have asked sooo many times since Stalwart first was introduced, but not got a straight answer. It is just FastMail or Topicbox. I want something like roudcoube or wildduck that can be used over https that I can self-host!

realityfactchex•21m ago
It looks like Cypht [0] is the most actively maintained JMAP webmail client listed at [1], assuming that works.

  [0] https://github.com/cypht-org/cypht
  [1] https://jmap.io/software.html
audelair•15m ago
I tried very hard to get it to work, but I simply couldn't get it to connect with my Stalwart instance over JMAP. I do have the permissive CORS and end-points and proxy-protocol seemingly working with my test HTTPS requests, and I also successfully got JMAP to work with the Mailtemi app, but no luck yet with Cypht[0].
realityfactchex•10m ago
Darn. This looks like the open issue: https://github.com/cypht-org/cypht/issues/931
drdaeman•1h ago
I'm setting up Stalwart right now, migrating from my current Maddy+Postfix+Dovecot+Rspamd setup. Not exactly my experience.

The documentation is not great - I'd say it's just about barely enough to get an overall idea, but there's no one proper single definitive overview of what options exist, what are their possible values, what are the defaults, and how they relate to each other. Maddy docs, despite looking a bit sloppy, were a lot easier to get through. IMHO Stalwart makes it unnecessarily difficult to write a non-minimal static configuration file, hooking everything up correctly.

To be fair, maybe there is a page like that but I haven't found it, despite trying.

I know the Web UI allows to do the configuration by clicking through the forms, but this approach conflicts with declarative deployment practices. In my case it's giving me nondescript 500 errors in the UI with "Failed to write local configuration" in the logs because the .toml file is read-only.

audelair•16m ago
Not sure if yours is setup different, but there are several key fields that need to be written to the config.toml file, and I've seen my file get updated when I make changes to the listeners or stores settings.

But in general, I agree that it has not been a very smooth experience. Having messed around with maddy and mox, Stalwart has had quite a few gotchas. Despite being a single binary promising simplicity, I'm finding it to be a real challenge figuring out how it all fits together, and I'm mostly learning by trial and error since the documentation is often outdated.

My biggest gripe is that it doesn't use the config.toml for every setting, or at least doesn't seem to have the option to do so. I broke my installation and had to find the posgresql key-value pairs for the settings, which was made harder by the fact that everything was stored as binary, which also made me have to edit it as binary as well. These were very simple settings that would have been a breeze in a flat configuration file. I absolutely do not like how necessary the WebAdmin is to manage simple things.

That said, the integration with calendar/contacts is nice even without JMAP... Getting Thunderbird and Roundcube setup with plugins and proper settings made it so easy to get several users setup with calendars, contacts, and shared email-boxes and shared contacts right upon first login.

The S3 storage is also working great (Hetzner Frankfurt VPS paired with AWS eu-central-1), and AWS downtime a few days ago notwithstanding, I'm feeling good about the reliability that gives me, leaving me mainly with the PosgresQL data store the main thing to keep backed up.

This is a hugely ambitious software and as such, there will be many things that I will have a hard time getting used to as a hobbyist, but also a lot to be gained. I'm sticking around for now and waiting for version 1, improved documentation, and more clarity on how it all works.

drnick1•6m ago
But is there any real benefit over Postfix + Dovecot other than "it's new and written in Rust?" Postfix and Dovecot have been around for decades and respect the Unix philosophy of doing one thing and doing it well.
btown•1h ago
For those needing to deal with customers/clients/internal teams with Google Workspace/Outlook and wanting JMAP-style (though not JMAP) modern JSON APIs, Nylas might be a viable option: https://www.nylas.com/

Nylas pricing has gotten better recently, but is still quite high though - at $1.50/connected account/month at scale, it's likely material to your per-user margin if it's part of your SaaS offering.

But if you have a use case where this is a no-brainer (like capturing/analyzing/building custom real-time UI around your internal sales team's emails) then it's remarkably powerful.

refulgentis•1h ago
Anyone got a link to a better sales job on JMAP & friends?

It sounds awesome but the way it is intro'd here:

  Over the past few years, the IETF has been redefining how email, calendars, and contacts are synchronized and shared. Building upon the success of JMAP for Mail, several new protocol extensions have been introduced:

  JMAP for Calendars - A modern replacement for CalDAV and CalDAV Scheduling.
  JMAP for Contacts – A powerful alternative to CardDAV.
  JMAP for File Storage – A replacement for WebDAV-based file storage.
  JMAP Sharing – A modern successor to WebDAV ACL.
  JSCalendar - A clean, JSON-based evolution of iCalendar.
  JSContact – A modernized, JSON-native successor to vCard.
...gave me pause. A protocol I've never heard even though I hang out here for an hour a day, was so successful, that it launched 6 new projects?

Sounds more like the parts of the web dev that give me ick (new and shiny; rush to copy new and shiny in other contexts; give it a year; and all of a sudden only 1 of the 6 actually was successful)

candiddevmike•1h ago
JMAP and friends are very niche, none of the "mainstream" email clients (that ship with most computers/phones) support it. So this feature being available is unlikely to grow the userbase, IMO.

Now JMAP is quite a bit nicer to use than IMAP's API, but IMAP's gravitational field is too strong to be supplanted. IMAP is also becoming somewhat of a niche protocol, as the majority of users use vendor proprietary protocols for accessing their emails on Gmail, Outlook/Hotmail, etc. So why invest the time to add a niche replacement for IMAP when the entire protocol is a second class citizen to mainstream email clients.

ggm•50m ago
You may only just have heard of them, but the WG goes back to 2017.

https://datatracker.ietf.org/wg/jmap/history/

Bron is the principal of fastmail, who now own pobox. This is a serious activity.

anoncareer0212•38m ago
Counterpoint: I Google'd "jmap gmail" and a top result is a comment from HN in 2019 saying Gmail will never implement JMAP (it has not)

That's a really cruel response, because this is important work. I don't want my kids beholden to bigco.

I think it's real & important.

I also wanna make sure people like me, who have to keep tabs on the intersection of "how can I help liberate from BigCo" and "how can I make a livable wage doing so"

It is, quite literally, real, but also something you shouldn't waste time on if you're already busy. (c.f. https://jmap.io/software.html)

SomaticPirate•36m ago
Agreed, also not clear what this or why it matters. This is a new self-hostable email server basically?
WorldMaker•32m ago
The big pitch for JMAP is for a modern web-tech-only approach to email/calendar/"groupware" servers. One reason to do that would be to make it easier to also build email/calendar/"groupware" clients entirely out of modern web-tech. Today most "web email clients" are bespoke to specific stacks/email servers. A dream of JMAP is that with the right CORS policy a single web client could interact with multiple JMAP servers, using only fetch/XHR.

The modernization efforts of JMAP are interesting, too. Most of the old protocols are a mess of bespoke plaintext formats full of quirks evolved over decades in a giant mess of different software. Even the stuff that was already web tech like WebDAV and its extensions CalDAV and CardDAV were full of quirks, violated some REST "rules", and originally intended for a different purpose (file shares/FTP replacement). JMAP is much closer to "plain REST" than WebDAV's complex HTTP protocol extensions/changes.

JadedBlueEyes•31m ago
If you look it up, you'll see that JMAP is 6 years old now. It's a protocol for doing email (and now other things) over HTTP, without many of the legacy issues from IMAP and SMTP. https://en.wikipedia.org/wiki/JSON_Meta_Application_Protocol / https://jmap.io/index.html
matesz•57m ago
Running Stalwart in production for ~20 heavily used accounts for some company and no problems so far! The simplicity for such a complex stack and flexibility of deployments is off the charts!
jdalsgaard•32m ago
I second that; only running it for personal use on a few domains, but handles all the complexity _extremely_ easily.
sylens•46m ago
We need better client support for JMAP. Apple Mail, Thunderbird, Outlook (as if), and so on. I'm surprised some of the smaller ones like Canary or Spark don't implement it as a product differentiator.
woodruffw•32m ago
Serious question: what’s the differentiator if major email providers don’t support it?

(This should not be interpreted as a defense of IMAP.)

dijit•23m ago
I'd make a reasonable guess that it enables much better Javascript clients, either via Electron or the Web Browser.

You don't need major providers to support it, they support SMTP and that's how messages are relayed. JMAP is just so you: the client, can fetch your mail from wherever you host your mail.

sylens•11m ago
Fastmail supports it, and it sounds like Thundermail will too
woleium•35m ago
I wish there was an easy auto-update process for Stalwart. is anyone hosting an apt repo for it?

edit: we use it on very resource constrained environments, the container version is too much overhead.

dijit•21m ago
isn't it a static binary? Can't you do it the old-school sysadmin way and pull down a binary from github releases and update a symbolic link?
evrflx•2m ago
Where is the overhead in a container? It is just a regular process. (Ok plus a container runtime process, but that is negligible)
yyyk•33m ago
I can understand why JMAP instead of IMAP given the latter's antiquated design. I don't see the advantage to clients in replacing WebDAV though, and the others are a bit iffy too. They'll need to make a way better sales pitch than 'JSON vs XML'.

I guess contacts/calendar follows JMAP naturally when the clients already implemented it, but that only applies in the 'already wrote a JMAP email client'. Virtually any other case would rather stay with widely supported protocols?

Willow quantum chip demonstrates verifiable quantum advantage on hardware

https://blog.google/technology/research/quantum-echoes-willow-verifiable-quantum-advantage/
297•AbhishekParmar•5h ago•141 comments

JMAP for Calendars, Contacts and Files Now in Stalwart

https://stalw.art/blog/jmap-collaboration/
139•StalwartLabs•3h ago•40 comments

Mass Assignment Vulnerability Exposes Max Verstappen Passport and F1 Drivers PII

https://ian.sh/fia
63•galnagli•2h ago•13 comments

Scripts I wrote that I use all the time

https://evanhahn.com/scripts-i-wrote-that-i-use-all-the-time/
229•speckx•5h ago•65 comments

HP SitePrint

https://www.hp.com/us-en/printers/site-print/layout-robot.html
116•gjvc•3h ago•74 comments

Ovi

https://github.com/character-ai/Ovi
17•montyanderson•49m ago•2 comments

Look, Another AI Browser

https://manuelmoreale.com/thoughts/look-another-ai-browser
151•v3am•3h ago•98 comments

Meta is axing 600 roles across its AI division

https://www.theverge.com/news/804253/meta-ai-research-layoffs-fair-superintelligence
322•Lionga•3h ago•234 comments

Cryptographic Issues in Cloudflare's Circl FourQ Implementation (CVE-2025-8556)

https://www.botanica.software/blog/cryptographic-issues-in-cloudflares-circl-fourq-implementation
131•botanica_labs•6h ago•61 comments

MinIO stops distributing free Docker images

https://github.com/minio/minio/issues/21647#issuecomment-3418675115
588•LexSiga•14h ago•351 comments

André Gorz, the Theorist Who Predicted the Revolt Against Meaningless Work (2023)

https://znetwork.org/znetarticle/andre-gorz-was-the-theorist-who-predicted-the-revolt-against-mea...
25•robtherobber•6d ago•2 comments

Linux Capabilities Revisited

https://dfir.ch/posts/linux_capabilities/
149•Harvesterify•6h ago•31 comments

Bild AI (YC W25) Is Hiring a Founding AI Engineer

https://www.ycombinator.com/companies/bild-ai/jobs/m2ilR5L-founding-engineer-applied-ai
1•rooppal•3h ago

Introducing Galaxy XR, the first Android XR headset

https://blog.google/products/android/samsung-galaxy-xr/
119•thelastgallon•3h ago•117 comments

ROG Xbox Ally runs better on Linux than Windows it ships with – up to 32% faster

https://www.tomshardware.com/video-games/handheld-gaming/rog-xbox-ally-runs-better-on-linux-than-...
53•jrepinc•1h ago•17 comments

The Tonnetz

https://thetonnetz.com/
10•mci•4d ago•3 comments

Designing software for things that rot

https://drobinin.com/posts/designing-software-for-things-that-rot/
134•valzevul•22h ago•31 comments

AI assistants misrepresent news content 45% of the time

https://www.bbc.co.uk/mediacentre/2025/new-ebu-research-ai-assistants-news-content
358•sohkamyung•6h ago•255 comments

SourceFS: A 2h+ Android build becomes a 15m task with a virtual filesystem

https://www.source.dev/journal/sourcefs
103•cdesai•7h ago•41 comments

Criticisms of "The Body Keeps the Score"

https://josepheverettwil.substack.com/p/the-body-keeps-the-score-is-bullshit
130•adityaathalye•1h ago•119 comments

Show HN: Create interactive diagrams with pop-up content

https://vexlio.com/features/interactive-diagrams-with-popups/
21•ttd•5h ago•0 comments

Show HN: Cuq – Formal Verification of Rust GPU Kernels

https://github.com/neelsomani/cuq
3•nsomani•52m ago•1 comments

Internet's biggest annoyance: Cookie laws should target browsers, not websites

https://nednex.com/en/the-internets-biggest-annoyance-why-cookie-laws-should-target-browsers-not-...
464•SweetSoftPillow•8h ago•468 comments

Cyborgs vs. rooms, two visions for the future of computing

https://interconnected.org/home/2025/10/13/dichotomy
16•surprisetalk•3d ago•9 comments

42,600 ton ship to break the world record for the deepest drill at 7 miles

https://blog.bostonorganics.com/chinas-42600-ton-meng-xiang-aims-drill-7-miles-deep-breaking-reco...
34•speckx•2h ago•14 comments

Django 6.0 beta 1 released

https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/
17•webology•45m ago•3 comments

Die shots of as many CPUs and other interesting chips as possible

https://commons.wikimedia.org/wiki/User:Birdman86
180•uticus•5d ago•35 comments

I See a Future in Jj

https://steveklabnik.com/writing/i-see-a-future-in-jj/
86•steveklabnik•3h ago•60 comments

The Logarithmic Time Perception Hypothesis

http://www.kafalas.com/Logtime.html
38•rzk•5h ago•18 comments

Patina: a Rust implementation of UEFI firmware

https://github.com/OpenDevicePartnership/patina
114•hasheddan•1w ago•17 comments