# Matcha

> 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 (MIT)
- Latest version: v1.0.1
- Maintained: yes
- Website: https://matcha.email/
- Source: https://github.com/floatpane/matcha
- Documentation: https://docs.matcha.email/

## Install

### Linux

Native.

- Snap: `sudo snap install matcha`
- Flatpak: `flatpak install https://matcha.email/matcha.flatpakref`
- Nix: `nix profile install github:floatpane/matcha`

### macOS

Native.

- Homebrew: `brew install --cask floatpane/matcha/matcha`

### Windows

Native.

- winget: `winget install --id=floatpane.matcha`

### BSD

Build from source. No ports package; build with Go.

- Go: `git clone https://github.com/floatpane/matcha && cd matcha && go build .`

### Android

Not supported.

## Protocols

- IMAP: Yes
- POP3: Yes
- SMTP: Yes
- JMAP: Yes
- Maildir: Yes
- mbox: No
- notmuch: No

## Features

- OpenPGP: Yes
- S/MIME: Yes
- OAuth2 sign-in: Yes
- Threads: Yes
- Search: built-in search and filter
- HTML mail: built-in rendering, with inline images in supported terminals
- Mouse: Yes
- Multiple accounts: Yes
- Offline use: local cache of message lists and bodies
- Calendar: shows .ics invites and sends RSVP replies
- Contacts: address book built from sent and received mail
- Vim-style keys: Yes
- Configuration: ~/.config/matcha/config.json plus in-app settings

## 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

File: `~/.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"
    }
  ]
}
```

| Protocol | Server | Port | Security |
| --- | --- | --- | --- |
| IMAP | imap.forwardemail.net | 993 | SSL/TLS |
| POP3 | pop3.forwardemail.net | 995 | SSL/TLS |
| SMTP | smtp.forwardemail.net | 465 | SSL/TLS |
| SMTP | smtp.forwardemail.net | 587 | STARTTLS |

Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive.

## 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

- https://matcha.email/
- https://github.com/floatpane/matcha
- https://github.com/floatpane/matcha/blob/master/LICENSE
- https://github.com/floatpane/matcha/releases/tag/v1.0.1
- https://github.com/floatpane/matcha/blob/master/docs/docs/installation.md
- https://github.com/floatpane/matcha/blob/master/docs/docs/Configuration.md
- https://github.com/floatpane/matcha/blob/master/docs/docs/Features/PassCmd.md
- https://github.com/floatpane/matcha/blob/master/docs/docs/Features/Keybinds.md
- https://github.com/floatpane/matcha/blob/master/docs/docs/Features/CALENDAR.md
- https://github.com/floatpane/matcha/blob/master/backend/README.md
- https://github.com/floatpane/matcha/blob/master/config/config.go
- https://github.com/floatpane/matcha/blob/master/fetcher/fetcher.go
- https://github.com/floatpane/matcha/blob/master/sender/sender.go
- https://github.com/floatpane/homebrew-matcha
- https://github.com/microsoft/winget-pkgs/tree/master/manifests/f/floatpane/matcha
- https://snapcraft.io/matcha
- https://docs.matcha.email/
