---
title: "Queues an email message to be sent to one or more recipients"
method: POST
path: "/emails:send"
tags: ["EmailSend"]
---

# Queues an email message to be sent to one or more recipients

`POST /emails:send`

## Query parameters

- `api-version` string, required

## Headers

- `Operation-Id` string, uuid
- `x-ms-client-request-id` string, uuid

## Request body

- EmailMessage — Message payload for sending an email
  - `headers` object — Custom email headers to be passed.
  - `senderAddress` string, required — Sender email address from a verified domain.
  - `content` EmailContent, required — Content of the email.
    - `subject` string, required — Subject of the email message
    - `plainText` string — Plain text version of the email message.
    - `html` string — Html version of the email message.
  - `recipients` EmailRecipients, required — Recipients of the email
    - `to` EmailAddress[], required — Email To recipients
      - `address` string, required — Email address.
      - `displayName` string — Email display name.
    - `cc` EmailAddress[] — Email CC recipients
      - `address` string, required — Email address.
      - `displayName` string — Email display name.
    - `bcc` EmailAddress[] — Email BCC recipients
      - `address` string, required — Email address.
      - `displayName` string — Email display name.
  - `attachments` EmailAttachment[] — List of attachments. Please note that we limit the total size of an email request (which includes both regular and inline attachments) to 10MB.
    - `name` string, required — Name of the attachment
    - `contentType` string, required — MIME type of the content being attached.
    - `contentInBase64` string, byte, required — Base64 encoded contents of the attachment
    - `contentId` string — Unique identifier (CID) to reference an inline attachment.
  - `replyTo` EmailAddress[] — Email addresses where recipients' replies will be sent to.
    - `address` string, required — Email address.
    - `displayName` string — Email display name.
  - `userEngagementTrackingDisabled` boolean — Indicates whether user engagement tracking should be disabled for this request if the resource-level user engagement tracking setting was already enabled in the control plane.

## Response `202`

The service has accepted the request and will start processing the message later. It will return 'Accepted' immediately and include an 'Operation-Location' header. Client side should further query the operation/message status using the URL specified in 'Operation-Location' header. Once the send operation has succeeded, you can get additional status about email delivery through either Azure Monitor or Event Grid events (for events reference, please refer to: https://learn.microsoft.com/en-us/azure/event-grid/communication-services-email-events)

- EmailSendResult — Status of the long running operation
  - `id` string, required — The unique id of the operation. Use a UUID.
  - `status` 'NotStarted' | 'Running' | 'Succeeded' | 'Failed' | 'Canceled', required — Status of operation.
  - `error` ErrorDetail — unresolved $ref

## Other responses

- `default` — Error

## Changes

- **2026-07-13** (2021-10-01-preview) `d2e69a3906c1` — 5 warning, 2 info
  - the optional response header `Repeatability-Result` removed for the status `202`
  - the optional response header `Retry-After` removed for the status `202`
  - the optional response header `x-ms-request-id` removed for the status `202`
  - deleted the `header` request parameter `repeatability-first-sent`
  - …3 more

[Change history](https://skmtc.dev/azure/apis/communication-email/changes/emails:send/post.md)

---

[API](https://skmtc.dev/azure/apis/communication-email.md) · [All operations](https://skmtc.dev/azure/apis/communication-email/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/communication-email/revisions/72fe0af28577/schema)
