Matcha: 터미널 내에서의 이메일 클라이언트
요약
Matcha는 Go와 Bubble Tea를 기반으로 개발된 터미널 우선(terminal-first) 이메일 클라이언트입니다. 사용자가 tmux 환경을 벗어나지 않고도 메일을 읽고 관리할 수 있도록 설계되었으며, IMAP, JMAP, POP3 등 다양한 백엔드를 지원합니다. 특히 보안에 중점을 두어 모든 인증 정보는 Argon2id 기반 AES-256-GCM으로 암호화하며, PGP/S/MIME 서명 및 OAuth2를 통해 강력한 개인정보 보호 기능을 제공합니다. 또한 플러그인 마켓플레이스와 AI 에이전트 지원 등 확장성도 뛰어납니다.
핵심 포인트
- 터미널 환경에 최적화된 이메일 클라이언트(TUI)로, tmux를 떠날 필요가 없습니다.
- IMAP/JMAP/POP3 백엔드를 통합하여 다양한 메일 서비스와 호환됩니다.
- Argon2id 기반 AES-256-GCM 암호화를 통해 비밀번호 및 토큰 등 민감 정보를 강력하게 보호합니다.
- PGP, S/MIME 서명 및 OAuth2 지원으로 최고 수준의 보안과 개인정보 보호 기능을 제공합니다.
- 플러그인 마켓플레이스와 AI 에이전트 기능으로 높은 확장성과 사용자 편의성을 갖추고 있습니다.
Go 와 Bubble Tea 를 기반으로 작성된 터미널 우선 (terminal-first) 이메일 클라이언트인 Matcha 를 개발해 왔습니다. 이는 "tmux 를 떠날 필요 없이 메일을 읽으려 한다"는 생각에서 시작되어 실제 클라이언트로 성장했습니다. 다른 분들에게 도움이 되길 바라며 공유합니다.
Repo: https://github.com/floatpane/matcha
Docs: https://docs.matcha.floatpane.com
기능
- IMAP, JMAP (Fastmail), POP3 백엔드 — 동일한 TUI 위에 구현
- 계정별 SMTP 전송을 지원하는 다중 계정 인박스
- 실제 파일 첨부 처리 (다운로드, 열기, 저장)
- Kitty graphics, Sixel, iTerm2 프로토콜을 통한 내장 이미지 렌더링 — 터미널이 지원하면 이미지가 표시됩니다
- HTML 출력용 마크다운 컴포저
- 캘린더 초대: .ics 파싱 및 인박스에서 RSVP (Google / Outlook / Apple Mail 호환 iMIP 응답)
- IMAP IDLE 푸시용 백그라운드 데몬 — 새로운 메일이 도착할 필요 없이 알림
matcha sendCLI 스크립트 및 AI 에이전트를 위한 기능 (TUI 입력 없이 작성 및 전송)- 플러그인 마켓플레이스 — TUI 내부에서 검색 및 설치 가능한 35 개 이상의 커뮤니티 플러그인
보안
이 부분이 가장 중요했습니다.
- 휴지 상태 암호화: 모든 인증 정보 (비밀번호, OAuth 토큰, S/MIME 키) 는 Argon2id 에서 유도된 키로 AES-256-GCM 암호화됩니다. 선택적이며, 활성화 시 디스크 상태는 패스프레이즈 없이 읽을 수 없습니다.
- PGP 서명: 외신 메일 전송 및 검증용
- S/MIME 서명 + 암호화, PKCS#7 분리 서명 포함
- Gmail / Outlook 을 위한 OAuth2 (XOAUTH2) — 해당 제공자는 비밀번호가 디스크에 저장되지 않습니다.
- PGP 작업용 YubiKey 지원 (PKCS#11 경로)
- 모든 전송에서 TLS 기본 적용,
MinVersion: TLS 1.2 - 로컬 데이터는 소유자 전용 (
0600/0700), 데몬 소켓도 소유자 전용 - 렌더링 전 HTML 이메일은 세정됨 — 명시적 선택을 하지 않는 한 원격 이미지 다운로드 없음
설치
GitHub 의 nightly 빌드 및 태그된 릴리스. macOS, Linux, Windows.
Discord: https://discord.gg/jVnYTeSPV8
질문 답변에ยินดี합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기