Fastmail email, masked emails, calendar, contacts, and vacation management
Manage Fastmail email, masked email aliases, calendars, contacts, and vacation auto-reply via the fastmail CLI.
fastmail CLI installed and authenticated (fastmail auth)FASTMAIL_ACCOUNT environment variable set to your account email# List recent emails
fastmail --output=json email list --limit 10
# Search emails
fastmail --output=json email search "invoice" --limit 20
# Get email by ID
fastmail --output=json email get <emailId>
# Send email
fastmail email send --to user@example.com --subject "Hello" --body "Message"
# Send with attachment
fastmail email send --to user@example.com --subject "Report" --body "See attached" --attach report.pdf
# List mailboxes (folders)
fastmail --output=json email mailboxes
Create disposable email aliases that forward to your inbox.
# Create masked email for a domain
fastmail --output=json masked create example.com "Shopping account"
# List masked emails (optionally filter by domain)
fastmail --output=json masked list
fastmail --output=json masked list example.com
# Enable/disable masked email
fastmail masked enable user.1234@fastmail.com
fastmail masked disable user.1234@fastmail.com
# Delete masked email (emails will bounce)
fastmail masked delete user.1234@fastmail.com
# List calendars
fastmail --output=json calendar list
# List events (default: next 30 days)
fastmail --output=json calendar events
# Create event
fastmail calendar event-create --title "Meeting" --start "2024-01-15T10:00:00" --end "2024-01-15T11:00:00"
# Create event with attendees (sends invitations)
fastmail calendar invite --title "Team Sync" --start "2024-01-15T14:00:00" --attendees alice@example.com,bob@example.com
# List contacts
fastmail --output=json contacts list
# Search contacts
fastmail --output=json contacts search "john"
# Create contact
fastmail contacts create --name "John Doe" --email john@example.com
# Get current vacation settings
fastmail --output=json vacation get
# Set vacation auto-reply
fastmail vacation set --subject "Out of Office" --body "I'm away until Jan 20"
# Disable vacation
fastmail vacation disable
Use --output=json for structured output. Use --query to apply jq filters:
fastmail --output=json --query '.[] | select(.unreadEmails > 0)' email mailboxes
| Flag | Description |
|---|---|
--account |
Override account email |
--limit |
Limit results (for list/search operations) |
--output |
Output format: text or json |
--query |
JQ filter expression for JSON output |