Boogie
jmapcli · 터미널에서 사용하는 JMAP
01.
v1.4.0 · macOS
네이티브 JMAP 커맨드 라인 클라이언트.

커맨드 라인에서 사용하는 JMAP.

jmapcli 는 터미널에서 직접 Stalwart(및 모든 JMAP 서버)와 JMAP으로 통신합니다 — 보내기, 읽기, 검색, 동기화, 이동, 메일 관리. 네이티브 Swift, 자격 증명은 macOS Keychain에, 텔레메트리 없음.

$ brew tap jasonhollis/boogie && brew install jmapcli $ jmapcli login # macOS Keychain에 저장됨 $ jmapcli send --to you@example.com --subject "Hi" --body "From the CLI"
02.
— Section 2
Install
Homebrew

한 줄. 서명됨.

2.1
Homebrew tap
brew tap jasonhollis/boogie && brew install jmapcli — 컴파일할 의존성이 없는 서명된 단일 바이너리. 업그레이드는 brew upgrade.
— macOS
Apple silicon
2.2
Keychain 인증
자격 증명은 JMAP ID별로 macOS 로그인 Keychain에서 읽어옵니다. dotfiles에도, env vars에도 아무것도 남지 않습니다.
— security
find-generic
2.3
텔레메트리 없음
이 도구는 어디에도 정보를 보내지 않습니다. 접속하는 유일한 네트워크는 당신의 JMAP 서버뿐입니다.
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

비밀번호가 디스크에 저장되지 않습니다.

jmapcli는 디스크에 어떠한 비밀도 보관하지 않습니다. 비밀번호(또는 bearer 토큰)는 macOS 로그인 Keychain에 저장되며, 계정 파일 — ~/.config/jmapcli/config.json, 권한 0600 — 에는 서버 URL, 사용자 이름, 기본 플래그만 저장됩니다. 터미널에서 Keychain을 처음 사용하시나요? 전체 워크플로는 내장된 security 명령 세 가지로 완성됩니다.

1 · 비밀 저장 — 그리고 다시 읽기. macOS가 값을 입력하라는 프롬프트를 표시하므로, 비밀은 커맨드 라인에 입력되거나 화면에 표시되거나 셸 히스토리에 기록되지 않습니다.

# store it — you’re prompted for the secret, nothing echoes $ security add-generic-password -U -s jmap-password -a you@example.com -l "Boogie JMAP password" -w # read it back at any time $ security find-generic-password -s jmap-password -a you@example.com -w # remove it $ security delete-generic-password -s jmap-password -a you@example.com
-s
service — jmapcli가 조회하는 이름: 비밀번호의 경우 jmap-password, bearer 토큰(예: Fastmail)의 경우 jmap-token; 사용하는 항목 하나만 설정하세요.
-a
account — 이메일 주소(jmapcli에 입력하는 사용자 이름과 동일).
-l
label — Keychain 접근 앱에서 표시될 이름; -U는 기존 항목을 제자리에서 업데이트합니다.
-w
값 없이 — 비밀 입력 프롬프트를 표시합니다. 이 부분이 비밀을 ~/.zsh_history 및 프로세스 목록에서 보호합니다.

2 · jmapcli에 서버를 등록합니다. 계정을 한 번만 등록하면 됩니다. 비밀은 방금 저장한 Keychain 항목에서 직접 가져오므로 커맨드 라인에 나타나지 않습니다.

$ jmapcli login --url https://mail.example.com --username you@example.com \ --password "$(security find-generic-password -s jmap-password -a you@example.com -w)" # token auth: swap --password for --token (and store under jmap-token above) $ jmapcli list # from here on, every command reads the Keychain for you
3.1
히스토리, 로그 — 또는 AI의 컨텍스트 어디에도 없음
비밀이 Keychain에 저장되면 일상적인 명령(list, send, draft, sync)은 비밀번호를 전혀 사용하지 않으므로, ~/.zsh_history, 프로세스 목록, CI 로그 어디에도 캡처될 수 없습니다. 바로 이것이 jmapcli를 터미널 AI 도구에서 안전하게 사용할 수 있는 이유입니다 — 에이전트는 JMAP 클라이언트를 받을 뿐, 비밀은 절대 전달되지 않습니다.
— zsh
CI · agents
3.2
비밀번호 교체 또는 로그아웃
비밀번호를 변경했나요? security add-generic-password … -w 명령을 다시 실행하세요 — -U가 제자리에서 덮어씁니다. 계정을 제거하려면 jmapcli logout을 실행하면 설정 항목과 Keychain 비밀이 한 번에 삭제됩니다(--all은 모든 계정을 초기화합니다).
— rotate
logout
3.3
Mac별 독립 저장 — 의도된 설계
로그인 Keychain은 iCloud를 통해 동기화되지 않습니다 — 이는 의도된 경계로, 비밀번호가 입력한 Mac을 벗어나지 않도록 합니다. Mac마다 security 단계를 한 번씩 반복하세요; config.json은 비밀을 포함하지 않으므로 동기화된 홈 폴더에서 사용할 수 있습니다.
— per
machine
04.
— Section 4
Commands
One verb each

모든 것이 서브커맨드입니다.

login
JMAP 서버의 자격 증명을 Keychain에 저장
discover
서버에서 JMAP 세션 검색
accounts
설정된 계정과 전송 가능한 모든 ID 나열
mailboxes
모든 메일박스 나열
list
메일박스의 이메일 나열
search
텍스트, 제목, 보낸 사람, 받는 사람, 본문으로 메일 검색(서버 측)
read
이메일 전체 내용 표시 (Markdown 렌더링)
send
전송 가능한 모든 ID(--from)에서 JMAP Submission으로 이메일 전송
reply
ID로 메시지에 회신, 원본을 인용하며 스레드로 연결
forward
ID로 메시지를 전달, 첨부 파일 다시 첨부
draft
보내지 않고 Drafts에 이메일 보관
move · trash · delete
메일박스로 이동, 휴지통으로 이동, 또는 ID로 영구 삭제
sync
델타 동기화를 수행하고 변경 사항 표시
contacts
JSContact 연락처: 나열, 추가, 편집, 삭제, 별칭 가져오기
calendar
캘린더와 일정 나열, 일정 작성, 캘린더 색상 설정
sieve
서버 측 Sieve 필터 나열, 가져오기, 검증, 푸시
alias
받는 사람 별칭 관리
mcp
AI 도구를 위한 Model Context Protocol 서버로 실행
logout
저장된 자격 증명 제거
05.
— Section 5
Changelog
Every release

새로운 기능.

v1.4.0
Full-text search (text, subject, from, to, body); threaded reply and forward; draft — stage in Drafts without sending; multi-account: accounts and identities, and send/reply/forward as any sendable identity via --from; contacts import-aliases; faster multi-recipient sends. — 2026-06-24
v1.3.1
Calendar event write (add, edit, remove); offline-first hardening. — 2026-06-20
v1.3.0
JSContact contacts — read and write, with a lossless round-trip. — 2026-06-15
v1.2.0
Sieve filters — list, get, validate, and push server-side mail rules. — 2026-06-12
v1.1.0
Calendar — list calendars and events, set colours. — 2026-06-11
v1.0.0
Initial release — send, read, search, sync, and triage mail from the terminal, credentials in the macOS Keychain. — 2026-06-06
— Boogie의 일부

전체 앱을 원하세요?

jmapcli 는 무료
네이티브 메일 + 캘린더 앱은 App Store에서
KTP Digital Pty Ltd · ABN 85 648 755 980