> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentpost.email/llms.txt
> Use this file to discover all available pages before exploring further.

# Compose Email

> Send an outbound email from a custom domain mailbox.

To send email with AgentPost, you need a mailbox on a verified custom domain. Default domain mailboxes (e.g., `calm.brook-42@agent.agentpost.email`) can only receive email — they cannot send.

<Warning>
  If you have no custom domain mailboxes, you cannot compose outbound email. [Add and verify a custom domain](/mailboxes/custom-domains) first, then create a mailbox on that domain.
</Warning>

## Prerequisites

* A custom domain with status `active` or `pending_warmup`
* At least one mailbox created on that domain

## Compose and send

<Steps>
  <Step title="Open the compose dialog">
    From any message view, click **Compose**. The compose dialog opens with a blank form.
  </Step>

  <Step title="Select a From address">
    Click the **From** dropdown. It lists all of your custom domain mailboxes whose domain can currently send (status `active` or `pending_warmup`). Select the address you want to send from.
  </Step>

  <Step title="Fill in the recipients">
    Enter one or more addresses in the **To** field. To add copied recipients, expand the **CC / BCC** section and fill in those fields.
  </Step>

  <Step title="Add a subject">
    Type your subject line in the **Subject** field.
  </Step>

  <Step title="Write the message body">
    Enter your message in the body field.
  </Step>

  <Step title="Attach files (optional)">
    Click the attachment button and select one or more files. Each file uploads immediately to storage and appears in the compose UI with its name and size. You can remove any attachment before sending by clicking the remove control next to it.

    <Note>
      The per-attachment size limit is **25 MB**. The total size of all attachments on a single message is also capped at **25 MB**.
    </Note>

    Uploaded files are held in a draft state (not yet linked to any message) until you send. If you close the dialog without sending, orphaned draft attachments are cleaned up automatically by a background job.
  </Step>

  <Step title="Send">
    Click **Send**. AgentPost creates an outbound `Message` record with `send_status: pending` and dispatches a background job to deliver the email. The status transitions to `sent` on successful delivery or `failed` if delivery is rejected.
  </Step>
</Steps>

## Attachment limits

| Limit                 | Value               |
| --------------------- | ------------------- |
| Max size per file     | 25 MB               |
| Max total per message | 25 MB               |
| Simultaneous uploads  | Multiple (parallel) |

## Sending with attachments via MCP

AI agents can also send emails with attachments using the `SendEmail` MCP tool. Instead of uploading files, agents pass base64-encoded file content directly in the `attachments` parameter. Up to 20 attachments are supported per message. See [MCP Workflows — Attachments](/mcp/workflows) for a step-by-step example.

## What happens when you send

When you click **Send**, AgentPost queues your message for delivery. The email is dispatched through the outbound sending provider with the selected mailbox address as the `From` address — for example, `support@example.com`. You can monitor the send status in the mailbox's sent items.
