Boogie
jmapcli · JMAP dari terminal
01.
v1.4.0 · macOS
Klien baris perintah JMAP native.

JMAP dari baris perintah.

jmapcli berbicara JMAP ke Stalwart (dan server JMAP mana pun) langsung dari terminal Anda — kirim, baca, cari, sinkronkan, pindahkan, dan kelola email. Swift native, kredensial di macOS Keychain, tanpa telemetri.

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

Satu baris. Ditandatangani.

2.1
Homebrew tap
brew tap jasonhollis/boogie && brew install jmapcli — satu biner bertanda tangan, tanpa dependensi yang perlu dikompilasi. Tingkatkan melalui brew upgrade.
— macOS
Apple silicon
2.2
Autentikasi Keychain
Kredensial dibaca dari Keychain login macOS berdasarkan identitas JMAP. Tidak ada di dotfiles, tidak ada di env vars.
— security
find-generic
2.3
Tanpa telemetri
Alat ini tidak melapor ke mana pun. Satu-satunya jaringan yang disentuhnya adalah server JMAP Anda.
— zero
SDKs
03.
— Section 3
Credentials
macOS Keychain

Kata sandi Anda tidak pernah menyentuh disk.

jmapcli tidak menyimpan rahasia apa pun di disk. Kata sandi Anda (atau bearer token) tersimpan di Keychain login macOS; file akun — ~/.config/jmapcli/config.json, mode 0600 — hanya menyimpan URL server, nama pengguna, dan bendera default. Belum terbiasa menggunakan Keychain dari terminal? Seluruh alur kerjanya hanya tiga perintah bawaan security.

1 · Simpan rahasia — dan baca kembali. macOS meminta nilai tersebut, sehingga rahasia tidak pernah diketik di command line, ditampilkan di layar, atau tercatat dalam riwayat shell Anda.

# 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 — nama yang dicari oleh jmapcli: jmap-password untuk kata sandi, atau jmap-token untuk bearer token (misalnya Fastmail); atur hanya yang Anda gunakan.
-a
account — alamat email Anda (nama pengguna yang sama yang Anda berikan ke jmapcli).
-l
label — yang akan Anda lihat di aplikasi Keychain Access; -U memperbarui item yang sudah ada di tempatnya.
-w
tanpa nilai — meminta input rahasia. Inilah bagian yang memastikan rahasia tidak masuk ke ~/.zsh_history maupun daftar proses.

2 · Arahkan jmapcli ke server Anda. Daftarkan akun sekali; rahasia diambil langsung dari item Keychain yang baru Anda simpan, sehingga tidak pernah muncul di command line.

$ 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
Tidak ada di riwayat, log — atau konteks AI
Setelah rahasia tersimpan di Keychain, perintah sehari-hari (list, send, draft, sync) tidak pernah membawa kata sandi, sehingga tidak dapat tertangkap di ~/.zsh_history, daftar proses, atau log CI. Inilah yang membuat jmapcli aman untuk digunakan bersama alat terminal-AI — agen mendapatkan klien JMAP, bukan rahasia Anda.
— zsh
CI · agents
3.2
Rotasi atau keluar
Kata sandi berubah? Jalankan kembali baris security add-generic-password … -w-U menimpanya di tempat yang sama. Untuk menghapus akun, jmapcli logout menghapus entri konfigurasi sekaligus rahasia Keychain dalam satu langkah (--all menghapus semua akun).
— rotate
logout
3.3
Per-Mac berdasarkan desain
Keychain login tidak disinkronkan melalui iCloud — batas yang disengaja, agar kata sandi Anda tidak pernah meninggalkan Mac tempat Anda mengetikkannya. Ulangi langkah security sekali per Mac; config.json dapat disimpan di folder home yang tersinkronisasi karena tidak membawa rahasia apa pun.
— per
machine
04.
— Section 4
Commands
One verb each

Semuanya adalah subperintah.

login
Simpan kredensial untuk server JMAP di Keychain
discover
Temukan sesi JMAP dari server
accounts
Daftarkan akun terkonfigurasi dan setiap identitas pengirim
mailboxes
Daftar semua kotak surat
list
Daftar email dalam kotak surat
search
Cari email berdasarkan teks, subjek, pengirim, penerima, atau isi (sisi server)
read
Tampilkan konten email lengkap (dirender Markdown)
send
Kirim email lewat JMAP Submission, dari identitas pengirim mana pun (--from)
reply
Balas pesan berdasarkan ID, terangkai dan mengutip aslinya
forward
Teruskan pesan berdasarkan ID, lampirkan kembali berkasnya
draft
Siapkan email di Drafts tanpa mengirimnya
move · trash · delete
Pindahkan ke kotak surat, pindahkan ke Trash, atau hapus permanen berdasarkan ID
sync
Lakukan sinkronisasi delta dan tampilkan apa yang berubah
contacts
Kontak JSContact: daftar, tambah, ubah, hapus, impor alias
calendar
Daftarkan kalender dan acara, tulis acara, atur warna kalender
sieve
Daftar, ambil, validasi, dan kirim filter Sieve sisi server
alias
Kelola alias penerima
mcp
Jalankan sebagai server Model Context Protocol untuk perkakas AI
logout
Hapus kredensial tersimpan
05.
— Section 5
Changelog
Every release

Yang baru.

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
— Bagian dari Boogie

Ingin aplikasi lengkapnya?

jmapcli gratis
aplikasi Mail + Calendar native ada di App Store
KTP Digital Pty Ltd · ABN 85 648 755 980