zeabur-email
Zeabur Email (ZSend) Management
Always use
npx zeabur@latestto invoke Zeabur CLI. Never usezeaburdirectly or any other installation method. Ifnpxis not available, install Node.js first.
Check Email Service Status
npx zeabur@latest email status -i=false
npx zeabur@latest email status -i=false --json
Shows onboarding status and account info.
Domain Management
# List all domains
npx zeabur@latest email domains list -i=false
npx zeabur@latest email domains ls -i=false --json
# Add a domain
npx zeabur@latest email domains add --domain example.com --region us-east-1 -i=false
# Get domain details and DNS records
npx zeabur@latest email domains get --id <domain-id> -i=false
# Verify domain DNS records
npx zeabur@latest email domains verify --id <domain-id> -i=false
# Delete a domain
npx zeabur@latest email domains delete --id <domain-id> -i=false
Supported regions: us-east-1, us-west-1, eu-central-1, ap-northeast-1, ap-northeast-3, ap-southeast-1
Domain Setup Workflow
# 1. Add the domain
npx zeabur@latest email domains add --domain example.com --region us-east-1 -i=false --json
# 2. Get DNS records to configure (note the domain ID from step 1)
npx zeabur@latest email domains get --id <domain-id> -i=false
# 3. Configure the required DNS records using the `zeabur-domain-dns` skill, then verify
npx zeabur@latest email domains verify --id <domain-id> -i=false
API Key Management
# List all keys
npx zeabur@latest email keys list -i=false
npx zeabur@latest email keys ls -i=false --json
# Create a key
npx zeabur@latest email keys create --name "production" --permission send_only -i=false
# Delete a key
npx zeabur@latest email keys delete --id <key-id> -i=false
Permissions: all, send_only, read_only
The token is only shown once at creation time. Make sure the user saves it immediately.
Webhook Management
# List all webhooks
npx zeabur@latest email webhooks list -i=false
npx zeabur@latest email webhooks ls -i=false --json
# Create a webhook
npx zeabur@latest email webhooks create \
--name "delivery-tracker" \
--endpoint "https://example.com/webhook" \
--events "delivery,bounce" \
-i=false
# Verify a webhook
npx zeabur@latest email webhooks verify --id <webhook-id> -i=false
# Delete a webhook
npx zeabur@latest email webhooks delete --id <webhook-id> -i=false
Supported events: send, delivery, bounce, complaint, reject, open, click
The webhook secret is only shown once at creation time. Make sure the user saves it immediately.
Send an Email
Use the REST API directly with curl. The endpoint is https://api.zeabur.com/api/v1/zsend/emails.
curl -X POST https://api.zeabur.com/api/v1/zsend/emails \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <api-key>" \
-d '{
"from": "sender@example.com",
"to": ["recipient@example.com"],
"subject": "Hello from Zeabur Email",
"html": "<h1>Hello!</h1><p>This is a test email.</p>",
"text": "Hello! This is a test email."
}'
from: Must use a verified domain (e.g.,noreply@example.com)to: Array of recipient email addressessubject: Email subject linehtml: HTML body (optional iftextis provided)text: Plain text body (optional ifhtmlis provided)
The API key must have send_only or all permission. If no key exists, create one first (see API Key Management above).
More from zeabur/zeabur-claude-plugin
zeabur-deployment-logs
Use when viewing service runtime or build logs. Use when user says "show logs", "why did deploy fail", "check build output", or "debug runtime error".
54zeabur-template
Use when creating, editing, validating, or troubleshooting a Zeabur template YAML. Use when converting docker-compose to Zeabur template. Do NOT use for deploying templates (use zeabur-template-deploy instead).
53zeabur-restart
Use when restarting a Zeabur service. Use when user says "restart", "reboot service", or "service is stuck/frozen".
53zeabur-domain-url
Use when services need public URL for redirects or CORS. Use when WEB_URL or similar has trailing slash issues. Use when user reports "redirect goes to wrong URL", "CORS error", or "trailing slash problem". Also use when user says "add domain", "set up domain", "bind domain", "create domain", or "manage domains" for a Zeabur service.
52zeabur-variables
Use for ALL Zeabur environment variable operations — create, list, update, delete, or troubleshoot. Use when user says "set env var", "add variable", "create variable", "update variable", "delete variable", "change env var", or "why is my variable empty". Also use when variables are empty or SERVICE_NOT_FOUND errors.
51zeabur-update-service
Use when modifying service config without full redeploy. Use when updating env vars and restarting single service. Use when user says "change env var", "update config", "fix variable without redeploying", "upgrade service version", "update image tag", or "change service tag".
49