A lightweight, self-hostable webmail client that combines multiple email accounts into one view over IMAP, SMTP, JMAP and EWS.
linagora/tmail-flutter
A multi-platform Flutter email client for Android, iOS and web that reads mail through the JMAP protocol.
Open-source alternative to:Gmail
- Stars
- 666
- Forks
- 128
- Open issues
- 364
- Last commit
- yesterday
What is it?
Twake Mail (tmail-flutter) is an email client built with Flutter that runs on mobile devices and the web. It connects to mail servers using JMAP, a modern HTTP and JSON-based protocol designed as an alternative to IMAP, and is aimed at the Twake Mail back-end developed by Linagora.
The app covers the core email workflow: reading mailboxes and messages, managing them, sending email, and searching. Screenshots in the project show phone and tablet layouts, and a web version is built from the same codebase and can be deployed as a Docker image with a configurable JMAP server URL.
The project also ships a JMAP Dart client library that developers can reuse to build their own JMAP-based applications. The project is licensed under AGPL-3.0.
Key features
- 01Reads and manages mailboxes and messages over the JMAP protocol
- 02Sends email and searches messages
- 03Runs on Android, iOS and web from a single Flutter codebase
- 04Layouts adapt to phone and tablet screen sizes
- 05Web version can be deployed with Docker and works with any JMAP server
Use cases
- Using a self-hosted or Twake Mail back-end with a native mobile mail app
- Deploying a browser-based webmail frontend for a JMAP server
- Building a custom JMAP email client using the bundled Dart library
Quick start
- 1
Go to the project root folder
- 2
Run the prebuild script
/bin/bash scripts/prebuild.sh - 3
Build the Android app
flutter build apk
Things to know
- Mail reading requires a JMAP server, such as the Twake Mail backend or another JMAP-compatible server.
- The web app is described by its authors as still in early development.
- Licensed under AGPL-3.0, a copyleft license with network-use obligations.
In collections
Topics
FAQ
- What is tmail-flutter?
- A multi-platform Flutter email client for Android, iOS and web that reads mail through the JMAP protocol. Twake Mail (tmail-flutter) is an email client built with Flutter that runs on mobile devices and the web. It connects to mail servers using JMAP, a modern HTTP and JSON-based protocol designed as an alternative to IMAP, and is aimed at the Twake Mail back-end developed by Linagora.
- Is tmail-flutter free to use? What license does it have?
- tmail-flutter is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is tmail-flutter still maintained?
- Actively maintained. The last commit to tmail-flutter was on Nov 6, 2026.
- What can I use tmail-flutter for?
- Using a self-hosted or Twake Mail back-end with a native mobile mail app Deploying a browser-based webmail frontend for a JMAP server Building a custom JMAP email client using the bundled Dart library
- How do I install tmail-flutter?
- Go to the project root folder Run the prebuild script: /bin/bash scripts/prebuild.sh Build the Android app: flutter build apk
- Where can I get tmail-flutter?
- The source code and installation instructions are on GitHub: https://github.com/linagora/tmail-flutter
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hosted browser webmail client for the Stalwart Mail Server, covering mail, calendar, contacts and files over JMAP.
A mail client app for Nextcloud that connects to any IMAP account from within your Nextcloud instance.
A self-hostable email service built on Cloudflare Workers, letting you create multiple mailboxes under one domain with sending, attachments and a responsive web UI.
A self-hosted mail server packaged as a set of Docker images, covering SMTP, IMAP, POP3 and webmail.
A browser-based multilingual IMAP webmail client with an application-like interface, written in PHP and extendable through plugins and skins.