MaillyDocs

Sending email

Validate, send, and track transactional email.

Send from a claimed inbox address or an address on a domain verified for sending. Authenticate with Authorization: Bearer $MAILLY_API_KEY.

HTTP · dry run
curl https://api.mailly.site/send-email \
  -H "Authorization: Bearer $MAILLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fromEmail": "your-inbox@mailly.site",
    "to": "you@example.com",
    "subject": "Hello from my agent",
    "text": "Your first email is ready.",
    "dryRun": true
  }'

dryRun validates parameters without sending or charging usage. When the request looks right:

  1. Check your usage balance or included email count.
  2. Remove dryRun and send.
  3. Review the result in Sent. An accepted request is not proof of delivery; final status arrives as delivery events.

Do not automatically retry a direct-send request whose outcome is unknown. Check Sent first, or you may deliver the same email twice.

Multi-recipient sends and campaigns are queued and return a task ID; poll it with Get batch task status.

Other ways to send

  • SMTP for existing mail libraries.
  • mailly send in the CLI.
  • mailly_send_email over Remote MCP, always validated with dry_run first.

See the Send email reference for every field.

On this page