## Send an email **post** `/accounts/{account_id}/email/sending/send` Send an email for the specified account using the structured builder. Provide the sender, recipients, subject, and at least one of text or html; attachments are optional. ### Path Parameters - `account_id: string` Identifier of the account. ### Body Parameters - `from: string or object { address, name }` Sender email address. Either a plain string or an object with address and name. - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `subject: string` Email subject line. - `attachments: optional array of object { content, content_id, disposition, 2 more } or object { content, disposition, filename, type }` File attachments and inline images. - `Inline object { content, content_id, disposition, 2 more }` - `content: string` Base64-encoded content of the attachment. - `content_id: string` Content ID used to reference this attachment in HTML via cid: URI (e.g., ). - `disposition: "inline"` Must be 'inline'. Embeds the attachment in the email body. - `"inline"` - `filename: string` Filename for the attachment. - `type: string` MIME type of the attachment (e.g., 'image/png', 'text/plain'). - `Attachment object { content, disposition, filename, type }` - `content: string` Base64-encoded content of the attachment. - `disposition: "attachment"` Must be 'attachment'. Adds a standard file attachment. - `"attachment"` - `filename: string` Filename for the attachment. - `type: string` MIME type of the attachment (e.g., 'application/pdf', 'text/plain'). - `bcc: optional string or object { address, name } or array of string or object { address, name }` BCC recipient(s). A single email string, a named address object, or an array of either. - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `array of string or object { address, name }` - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `cc: optional string or object { address, name } or array of string or object { address, name }` CC recipient(s). A single email string, a named address object, or an array of either. - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `array of string or object { address, name }` - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `headers: optional map[string]` Custom email headers as key-value pairs. - `html: optional string` HTML body of the email. Provide at least one of text or html (non-empty). - `reply_to: optional string or object { address, name }` Reply-to address. Either a plain string or an object with address and name. - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `text: optional string` Plain text body of the email. Provide at least one of text or html (non-empty). - `to: optional string or object { address, name } or array of string or object { address, name }` Recipient(s). Optional if cc or bcc is provided. A single email string, a named address object, or an array of either. - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. - `array of string or object { address, name }` - `EmailSendingEmailAddressString = string` An email address as a plain string. - `EmailSendingEmailAddressObject object { address, name }` - `address: string` Email address (e.g., 'user@example.com'). - `name: optional string` Display name for the email address (e.g., 'John Doe'). Optional; set to null or leave it unset to send the address on its own. ### Returns - `errors: array of object { code, message }` - `code: number` - `message: string` - `messages: array of object { code, message }` - `code: number` - `message: string` - `result: object { delivered, message_id, permanent_bounces, queued }` - `delivered: array of string` Email addresses to which the message was delivered immediately. - `message_id: string` Message ID of the sent email. - `permanent_bounces: array of string` Email addresses that permanently bounced. - `queued: array of string` Email addresses for which delivery was queued for later. - `success: true` - `true` - `result_info: optional object { count, per_page, total_count, 2 more }` - `count: number` - `per_page: number` - `total_count: number` - `cursor: optional string` - `page: optional number` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/email/sending/send \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "from": "sender@example.com", "subject": "Monthly Report", "bcc": [ "recipient-a@example.com", { "address": "recipient-b@example.com", "name": "Recipient B" } ], "cc": [ "recipient-a@example.com", { "address": "recipient-b@example.com", "name": "Recipient B" } ], "headers": { "X-Custom-Header": "value" }, "html": "

Hello

Please find your report attached.

", "text": "Hello\\n\\nPlease find your report attached.", "to": [ "recipient@example.com" ] }' ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "delivered": [ "recipient@example.com" ], "message_id": "", "permanent_bounces": [ "string" ], "queued": [ "string" ] }, "success": true, "result_info": { "count": 0, "per_page": 0, "total_count": 0, "cursor": "cursor", "page": 0 } } ```