Statuses
| status | Means |
|---|---|
queued | Accepted and waiting for our sender — now, or at its scheduled_at. It can still be rescheduled or canceled. |
sending | Our sender has taken it and is handing it to Amazon SES. |
sent | Amazon SES accepted it for delivery. |
delivered | The recipient’s mail server accepted it. |
bounced | The recipient’s mail server turned it away. The email page says why, in plain words. |
complained | Delivered, then the recipient reported it as spam. |
failed | It was not sent, or Amazon SES refused it: status_reason says why (for example key_revoked, domain_not_verified, reject). |
suppressed | Not sent, because a recipient is on this account’s suppression list. It counts nothing against your caps. |
canceled | Canceled before it was sent, through the API. |
Events
Amazon SES reports what happens after it accepts an email. Each report is an event, shown on the email’s page in the dashboard, and the latest is last_event in GET /emails/{id}.
| last_event | Means |
|---|---|
send | Amazon SES accepted it for delivery. |
delivery | The recipient’s mail server accepted it. |
bounce | The recipient’s mail server turned it away. |
complaint | The recipient reported it as spam to their mail provider. |
reject | Amazon SES refused to send it. |
delivery_delay | The recipient’s server has not accepted it yet; Amazon SES keeps trying. |
rendering_failure | Amazon SES could not build the message. |
When events arrive out of order
- A status never goes back: a late delivery report does not undo a bounce.
bouncedandfailedbeatcomplained, which beatsdelivered, which beatssent.- A complaint is recorded, and moves a delivered email to
complained, but it is not a bounce. - A delay (
delivery_delay) is an event, not a status: the email keeps its status while Amazon SES keeps trying. - The same event reported twice is kept once.
Read an email’s status with GET /emails/{id}, or many with GET /emails.