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

# Cloudflare Email

> Send through Cloudflare's email sending API.

Cloudflare Email sends through Cloudflare's email sending API instead of SMTP. Use it if your domain is already on Cloudflare. subscriber.dev can pick up its bounces automatically.

## Connect

Or ask [your agent](https://docs.subscriber.dev/mcp.md): "Connect Cloudflare Email, sending from [hello@acme.com](mailto:hello@acme.com)."

> [tab] CLI
>
> ```bash theme={null}
> subscriber integrations set cloudflare --body '{
>   "accountId": "<account ID>",
>   "zoneId": "<zone ID>",
>   "apiToken": "<API token>",
>   "fromEmail": "hello@acme.com",
>   "fromName": "Acme"
> }'
> ```

> [tab] TUI
>
> Open **Integrations**, press `n` and choose **Cloudflare Email**.

> [tab] API
>
> ```bash theme={null}
> curl -X PATCH https://api.subscriber.dev/integrations/cloudflare \
>   -H "x-api-key: $KEY" -H "content-type: application/json" \
>   -d '{"accountId": "<account ID>", "zoneId": "<zone ID>", "apiToken": "<API token>", "fromEmail": "hello@acme.com", "fromName": "Acme"}'
> ```

## Settings

| Field | Description |
| - | - |
| `accountId` | Your Cloudflare account ID. |
| `apiToken` | An API token that can send email for that account. |
| `fromEmail`, `fromName` | Who the email is from. |
| `replyTo` | Where replies go, if not `fromEmail`. |
| `zoneId` | Optional. The zone you send from, so bounces can be picked up. |

## Bounces

With `zoneId` set and **Zone > Analytics > Read** added to the token, subscriber.dev checks Cloudflare for bounces regularly. Hard bounces [opt the subscriber out](https://docs.subscriber.dev/subscribers.md#opting-in-and-out). Without them, emails still send but bounces aren't picked up.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.