---
title: email.delivered
description: The receiving server accepted the message.
sidebar:
  label: email.delivered
  icon: circle-check
---

The receiving server accepted the message. This does not establish inbox placement or that the recipient read it.

## Payload

| Prop | Type | Default | Description |
| - | - | - | - |
| `email_id` | `string` | - | eml_… |
| `thread_id` | `string` | - | The conversation. |
| `domain_id` | `string \| null` | - | The domain it was sent from, or null when sent through a mailbox. |
| `mailbox_id` | `string \| null` | - | The mailbox it was sent through, or null when sent from a domain. |
| `suppression_key` | `string \| null` | - | The list the send named, when it named one. |
| `recipients` | `string[]` | - | Which recipients this event covers — delivery is reported per recipient. |

## Handling it

A message to several recipients can produce several `email.delivered` events. Don't treat the first as "the message was delivered" — accumulate `recipients` across events if you need to know that everyone got it.

Accepted by the receiving server is as far as any email API can see. What happens after that — inbox, spam folder, a filter rule — is not observable from here.
