Skip to main content

Documentation Index

Fetch the complete documentation index at: https://jetemail.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

jetemail adapts to its environment automatically.
  • In a terminal, list-style commands render compact tables. email send prompts for missing fields, shows a spinner, and prints a friendly success line.
  • In a pipe or non-TTY (jq …, CI logs, AI agents), every command emits pretty JSON to stdout. Errors and spinners go to stderr so stdout stays clean.

Global flags

FlagEffect
--jsonForce JSON output even in a terminal
--rawCompact (single-line) JSON
-q, --quietSuppress spinners and status chatter

Terminal mode

jetemail outbound domains list
 Domain               UUID                                  Verified  DKIM
 example.com          5f3b…-7a21                            ✓         ✓
 mail.example.com     8c12…-9d04                            ✓         ✗
jetemail send --to alice@example.org --from no-reply@example.com --subject hi --text hi
✓ Email queued
  to: alice@example.org
  subject: hi
  id: msg_abc123…

Pipe / non-TTY mode

jetemail outbound domains list | jq '.[] | .domain'
"example.com"
"mail.example.com"
jetemail outbound domains list --raw | jq -r '.[].uuid'
--raw is compact JSON (single line) which is useful when streaming many records.

Forced JSON in a terminal

jetemail outbound domains list --json
Useful when copy/pasting structured output to another tool, or when scripting interactively.

CSV outputs

A few endpoints return raw CSV instead of JSON. The CLI writes them to stdout unmodified:
jetemail outbound suppression export > suppressions.csv
See outbound for suppression import (the inverse).

Errors

Errors print the HTTP status and parsed response body to stderr and exit with code 1. See Exit codes.