Built a native JMAP Android client that works with Stalwart: Sterna Mail (FOSS)

Hi all,

So I’ve been running Stalwart for a while now and I love it (migrate from Mailcow after several years), and the one thing that kept bugging me was the Android side: there’s basically no polished email client that speaks JMAP natively. You end up falling back to IMAP and missing the whole point. So… I ended up building one.

It’s called Sterna Mail. It’s a private, FOSS (GPLv3) Android client built for JMAP first with full IMAP/SMTP too, so you pick the protocol when you add an account. On a JMAP server like Stalwart you get the nice stuff: fast incremental sync, push without any Google services, less battery/data. No ads, no tracking, no analytics, nothing from Google in there.

A few things it does:

  • Multiple accounts + unified inbox (mix JMAP and IMAP/SMTP if you want)
  • Push for new mail (JMAP push, and IMAP IDLE for the legacy accounts)
  • Offline cache, conversation threading, search
  • Compose with attachments, drafts, signatures, schedule send + undo send
  • Proper HTML rendering
  • Folders, flags, archive, report-spam, configurable swipe actions
  • Remote images / tracking pixels blocked by default, biometric app lock
  • Material 3, follows your system light/dark theme, 9 languages

I test it against Stalwart myself (mail.* on my own box), so it’s not theoretical, it’s what I use daily. That said it’s young, and I’m sure there are JMAP edge cases I haven’t hit. If you run Stalwart and try it, I’d genuinely love bug reports.

Install right now via the APK on Codeberg (works nicely with Obtainium for auto-updates). It’s also in review for F-Droid at the moment.

Anyway, happy to answer anything, and thanks to the Stalwart folks for the server, it’s been a joy to build against. :bird:

emon

PS: here’s a screenshot:

1 Like

Congrats! Make sure to add your client to jmapio.github.io/pages/software.liquid at master · jmapio/jmapio.github.io · GitHub

Hi Emon. I was waiting for F-Droid to approve your app. I installed it yesterday and it works well. Nice of you to thank the K-9 (Thunderbird). I was using Thunderbird and now I have it on hold as I am using Sterna Mail.

One suggestion: add the “show headers” like in Thunderbird to see authentication, x-spam etc., to check legitimacy of email.

Big Thank you for creating this app. We needed an Android JMAP app.

Merci!

Thank you! This kind of message is really encouraging and helpful for me. Yes there are some improvements and bug fixes I need to care of. I was hoping to ship detailed header view in next release and this should be dooable within a week or so. I dont know how long frdoid team pushes updates but it should land probably within the next 10 days.

Don’t hesitate to provide more input on feature requests or bug reporting here or on codeberg.

Cheers