All tools

send_email

Email · macOS

Effect: send (strongest supported action). Status: gated.

Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.

macOS

Purpose

Use this when the user wants to send an email from an account configured in the Mac's Apple Mail. Composes and sends via Mail.app; supports plain text or HTML body. For sending from a Microsoft 365 account NOT added to Mail.app, use m365_send_email. Pass `from` to send from a specific configured Mail.app account instead of the default sender. Pass `attachments` as a comma-separated list of absolute file paths to attach files.

Required inputs

Permissions and confirmation

Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.

Full input schema — macOS
{
  "properties": {
    "attachments": {
      "description": "Files to attach, as comma-separated absolute paths (e.g. a PDF).",
      "type": "string"
    },
    "bcc": {
      "description": "BCC address(es), comma-separated.",
      "type": "string"
    },
    "body": {
      "description": "Plain-text body. Use this OR html_body; if both are given, html_body wins.",
      "type": "string"
    },
    "cc": {
      "description": "CC address(es), comma-separated.",
      "type": "string"
    },
    "confirm": {
      "default": "false",
      "description": "Safety gate: the call only PREVIEWS (nothing is sent) unless confirm:true. Set true to actually send.",
      "type": "boolean"
    },
    "from": {
      "description": "Sender address — on a multi-account Mac, selects which configured Mail.app account sends. Omit to use Mail's default account.",
      "type": "string"
    },
    "html_body": {
      "description": "HTML body. Takes precedence over `body` when both are set.",
      "type": "string"
    },
    "subject": {
      "description": "Subject line.",
      "type": "string"
    },
    "to": {
      "description": "Recipient address(es), comma-separated for multiple.",
      "type": "string"
    }
  },
  "required": [
    "to",
    "subject"
  ],
  "type": "object"
}

Documentation example

Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.

{
  "body": "Can we review the launch checklist on Tuesday?",
  "confirm": false,
  "subject": "Planning meeting",
  "to": "[email protected]"
}