Fastmail Skill
Manage Fastmail email, masked email aliases, calendars, contacts, and vacation auto-reply via the fastmail CLI.
Prerequisites
- •
fastmailCLI installed and authenticated (fastmail auth) - •
FASTMAIL_ACCOUNTenvironment variable set to your account email
Commands
Email Operations
bash
# 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
Masked Email (Aliases)
Create disposable email aliases that forward to your inbox.
bash
# 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
Calendar
bash
# 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
Contacts
bash
# 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
Vacation / Auto-Reply
bash
# 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
Output
Use --output=json for structured output. Use --query to apply jq filters:
bash
fastmail --output=json --query '.[] | select(.unreadEmails > 0)' email mailboxes
Common Options
| 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 |