Terminal Email

Matcha

TUIEmail client

Terminal email client written in Go with the Bubble Tea TUI library, with IMAP, JMAP and POP3 support.

Matcha is a full-screen terminal email client by Floatpane. It talks to IMAP, JMAP, POP3 or a local Maildir and sends over SMTP, with multiple accounts, PGP and S/MIME, threaded view, inline images in terminals that support image protocols, and Lua plugins. Accounts and settings live in a JSON file, and a background daemon handles new mail notifications. It suits users who want a modern, mouse-capable client with presets for Gmail, iCloud and Outlook.

Type
Email client
Interface
Full-screen terminal interface
Systems
Runs on Linux, macOS and Windows, builds from source on BSD. Not available for Android.
Language
Go
License
MIT
Latest version
v1.0.1
Maintained
Yes
Website
matcha.email
Source
github.com/floatpane/matcha
Documentation
docs.matcha.email

Install

SystemSupportInstall
LinuxNative
Snapsudo snap install matcha
Flatpakflatpak install https://matcha.email/matcha.flatpakref
Nixnix profile install github:floatpane/matcha
macOSNative
Homebrewbrew install --cask floatpane/matcha/matcha
WindowsNative
wingetwinget install --id=floatpane.matcha
BSDBuild from source
Gogit clone https://github.com/floatpane/matcha && cd matcha && go build .

No ports package; build with Go.

AndroidNot supported-

Protocols and features

Protocols
ProtocolMatcha
IMAPYes
POP3Yes
SMTPYes
JMAPYes
MaildirYes
mboxNo
notmuchNo
Features
FeatureMatcha
OpenPGPYes
S/MIMEYes
OAuth2 sign-inYes
ThreadsYes
Searchbuilt-in search and filter
HTML mailbuilt-in rendering, with inline images in supported terminals
MouseYes
Multiple accountsYes
Offline uselocal cache of message lists and bodies
Calendarshows .ics invites and sends RSVP replies
Contactsaddress book built from sent and received mail
Vim-style keysYes
Configuration~/.config/matcha/config.json plus in-app settings

Pros and cons

Pros

  • Supports IMAP, JMAP, POP3 and Maildir in one client
  • PGP (including YubiKey) and S/MIME signing and encryption
  • Prebuilt packages for Linux (Snap, Flatpak), macOS (Homebrew tap) and Windows (winget)

Cons

  • Young project; v1.0 shipped only after a long series of 0.x releases
  • JSON config is less readable to hand-edit than muttrc-style files
  • Binary name clashes with an unrelated tool also called matcha

Use Matcha with Forward Email

A working setup for a Forward Email mailbox. Replace you@example.com with your alias and the password command with your own. The same settings work with any provider once the server names change.

~/.config/matcha/config.json
{
  "accounts": [
    {
      "id": "forwardemail",
      "name": "Your Name",
      "email": "you@example.com",
      "service_provider": "custom",
      "imap_server": "imap.forwardemail.net",
      "imap_port": 993,
      "smtp_server": "smtp.forwardemail.net",
      "smtp_port": 465,
      "pass_cmd": "pass show forwardemail/you@example.com"
    }
  ]
}
ProtocolServerPortSecurity
IMAPimap.forwardemail.net993SSL/TLS
POP3pop3.forwardemail.net995SSL/TLS
SMTPsmtp.forwardemail.net465SSL/TLS
SMTPsmtp.forwardemail.net587STARTTLS

Username: your full alias address, such as you@example.com. Password: the one shown by Generate Password next to the alias in your Forward Email account. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive.

Prefer no config at all? Forward Email's terminal app signs in with your account and has mail, calendar and contacts in one program.

Compare Matcha

All Matcha alternatives

Questions

Does Matcha work on Windows?

Yes, it runs natively on Windows.

Does Matcha support IMAP?

Yes, Matcha connects to IMAP servers directly.

Is Matcha open source?

Yes, under the MIT.

How do I use Matcha with Forward Email?

Use the config in the Forward Email section on this page, saved as ~/.config/matcha/config.json, and replace the address and password with your own.

Sources