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

1行。署名済み。

2.1
Homebrew tap
brew tap jasonhollis/boogie && brew install jmapcli — 単一の署名済みバイナリ、コンパイルする依存関係なし。アップグレードは brew upgrade
— macOS
Apple silicon
2.2
Keychain認証
認証情報はJMAPアイデンティティごとにmacOSログインKeychainから読み込まれます。dotfilesにも、env varsにも何も残りません。
— security
find-generic
2.3
テレメトリなし
このツールはどこにも情報を送信しません。接続する唯一のネットワークはあなたのJMAPサーバーだけです。
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

パスワードはディスクに触れません。

jmapcli はシークレットをディスクに保存しません。パスワード(またはベアラートークン)は macOS のログインキーチェーンに格納されます。アカウントファイル — ~/.config/jmapcli/config.json、モード 0600 — にはサーバー URL・ユーザー名・デフォルトフラグのみが記録されます。ターミナルからキーチェーンを初めて使う場合でも、ワークフロー全体は組み込みの security コマンド 3 つで完結します。

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、ベアラートークン(例: Fastmail)の場合は jmap-token を設定します。使用する方のみ設定してください。
-a
account — メールアドレス(jmapcli に渡すユーザー名と同じもの)。
-l
label — キーチェーンアクセス App に表示される名前。-U を指定すると既存の項目を上書き更新します。
-w
値を指定しない場合 — シークレットの入力を促します。これにより ~/.zsh_history やプロセスリストへの漏洩を防ぎます。

2 · jmapcli にサーバーを登録する。 アカウントを一度登録するだけで、シークレットは先ほど保存したキーチェーン項目から直接取得されるため、コマンドラインに現れることはありません。

$ 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 のコンテキストにも残らない
シークレットがキーチェーンに格納されると、日常的なコマンド(listsenddraftsync)はパスワードを持ち歩かないため、~/.zsh_history やプロセス一覧、CI ログに記録されることがありません。これにより jmapcli はターミナル AI ツールからも安全に使用できます — エージェントに渡るのは JMAP クライアントだけで、シークレットは渡されません。
— zsh
CI · agents
3.2
パスワードの変更とサインアウト
パスワードを変更した場合は、security add-generic-password … -w の行を再実行してください — -U によりその場で上書きされます。アカウントを削除するには jmapcli logout を実行すると、設定エントリとキーチェーンのシークレットを一度に削除できます(--all ですべてのアカウントを消去)。
— rotate
logout
3.3
Mac ごとに独立して管理する設計
ログインキーチェーンは iCloud を通じて同期されません — これは意図的な境界であり、入力した Mac からパスワードが外に出ることはありません。security の手順は Mac ごとに一度だけ実行してください。config.json はシークレットを含まないため、同期されたホームフォルダに置いても問題ありません。
— per
machine
04.
— Section 4
Commands
One verb each

すべてがサブコマンド。

login
JMAPサーバーの認証情報をKeychainに保存
discover
サーバーからJMAPセッションを検出
accounts
設定済みアカウントと送信可能な全 ID を一覧表示
mailboxes
すべてのメールボックスを一覧表示
list
メールボックス内のメールを一覧表示
search
本文・件名・差出人・宛先でメールを検索(サーバー側)
read
メールの全文を表示(Markdownレンダリング)
send
JMAP Submission で任意の送信 ID から送信(--from)
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