| name | nanomail |
| description | Read, search, send, draft, and manage email with the nanomail CLI. Use when working on a Mac where nanomail is installed and you need Apple Mail access from the terminal. |
nanomail CLI
Use nanomail directly. Always use --json for structured output.
Read
nanomail accounts --json
nanomail mailboxes --json -a "AccountName"
nanomail list --json -a "AccountName" -m "INBOX" --limit 20
nanomail list --json -a "AccountName" -m "INBOX" --unread
nanomail list --json -a "AccountName" -m "INBOX" --flagged
nanomail list --json -a "AccountName" -m "INBOX" --since "2026-01-01"
nanomail show --json -a "AccountName" -m "INBOX" --id 12345
nanomail search --json "query" -a "AccountName"
nanomail search --json "query" -a "AccountName" --from "sender@example.com"
nanomail unread --json
nanomail unread --json -a "AccountName"
nanomail today --json
nanomail flagged --json
nanomail attachments --json -a "AccountName" -m "INBOX" --id 12345
Write
nanomail send --json -a "AccountName" --to "addr" --subject "Subject" --body "Body"
nanomail draft --json -a "AccountName" --to "addr" --subject "Subject" --body "Body"
nanomail reply --json -a "AccountName" -m "INBOX" --id 12345 --body "Thanks!"
nanomail reply --json -a "AccountName" -m "INBOX" --id 12345 --body "Thanks!" --all
nanomail reply --json -a "AccountName" -m "INBOX" --id 12345 --body "Thanks!" --send
nanomail forward --json -a "AccountName" -m "INBOX" --id 12345 --to "someone@example.com" --body "FYI"
nanomail forward --json -a "AccountName" -m "INBOX" --id 12345 --to "someone@example.com" --send
nanomail draft --json reply -a "AccountName" -m "INBOX" --id 12345 --body "Thanks!"
nanomail draft --json forward -a "AccountName" -m "INBOX" --id 12345 --to "someone@example.com"
nanomail mark --json -a "AccountName" -m "INBOX" --id 12345 --read
nanomail mark --json -a "AccountName" -m "INBOX" --id 12345 --flagged
nanomail move --json -a "AccountName" -m "INBOX" --id 12345 --to "archive"
nanomail junk --json -a "AccountName" -m "INBOX" --id 12345
nanomail attachments --json -a "AccountName" -m "INBOX" --id 12345 --save /tmp
Workflow
- Run
accounts --json first for exact account names.
- Use
mailboxes --json -a "Account" to find mailbox names.
- Pull message IDs from
list, search, unread, today, or flagged.
- Use
draft instead of send when the user should review before sending.
reply and forward save as draft by default. Use --send to send immediately.
- Ask for confirmation before send, reply --send, forward --send, mark, move, junk, or delete operations.
Options
| Flag | Description |
|---|
--json | Output JSON (always use this) |
-a <account> | Account name |
-m <mailbox> | Mailbox name |
--id <id> | Message ID (numeric) |
--limit <n> | Max results to return |
--offset <n> | Skip first N results |