mail_send
Send an email through Mail.app, verifying delivery in Sent or Outbox. Multi-recipient sends require confirm=true; dry_run previews are not deliveries.
Instructions
Send an email through Mail.app. Success means the message was verified in Sent or is still in Outbox (still sending) — AppleScript send returning is not enough. Sending to more than one recipient in total (to + cc + bcc) requires confirm=true. dry_run and unconfirmed multi-recipient calls are not deliveries (MCP isError). A send hang is a timeout, not TCC, unless Mail reports -1743/-10004; hang recover matches To+subject (Message-ID when available), never subject alone. Clients must Sent-check before retrying a timed-out send.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email addresses | |
| to | Yes | Recipient email addresses (required, at least one) | |
| bcc | No | BCC email addresses | |
| body | Yes | Message body (required) | |
| confirm | No | Required for deletes and multi-recipient sends; without it the call only previews | |
| dry_run | No | Preview only: report what would happen and change nothing (default false) | |
| subject | Yes | Subject line (required) | |
| body_format | No | Plain text (default) or HTML. HTML is tag-stripped; the body is pasted into Mail's compose window (System Events focus on the message body, then Cmd-A and clipboard paste). AppleScript content/html content is not set because it quote-wraps the Sent body |