Look up message events
Find out what happened to your messages by recipient or event type, from the last 24 hours to the last 90 days.
In the dashboard
The Events tab of an SMTP Relay service lists what happened to the messages it sent: each one we queued, delivered, deferred or bounced, each complaint, and each message or recipient the relay refused. Use it to answer a question such as "did my receipt reach alex@example.com?", up to 90 days back.
To have events sent to your application as they happen, add a webhook.
Before you begin
Section titled Before you begin- An SMTP Relay service that has sent mail. Events appear a short time after each step of a delivery.
Look up events
Section titled Look up events- In the dashboard, go to Email, open the SMTP Relay service, then the Events tab.
- In Event, choose the kind of event to list, or leave All events. Event categories describes each one.
- In Window, choose how far back to look: Last 24 hours, Last 3 days, Last 7 days, Last 30 days or Last 90 days. The tab opens on Last 7 days.
- To see the events for one recipient, enter the whole address in Recipient, such as
alex@example.com, and select Filter. Part of an address finds nothing. Clear removes the recipient filter.
Select Refresh to load events that arrived since you opened the tab.
Result
Section titled ResultThe Delivery events card lists the matching events, newest first:
- Recipient
- The recipient, with the sender under it.
- Event
- The event's category.
- Response
- What the receiving server replied. When there is no reply, the server we connected to, or the detailed event type. Hover over it to see the detailed event type.
- When
- How long ago the event happened. Hover over it to see the date and time.
The list holds up to 200 events. When it is full, a note under it says Showing the latest 200. Narrow the window or filter by recipient to see older events. The count above the list is the number of events shown, so it stops at 200 too.
Event categories
Section titled Event categoriescategory |
What happened |
|---|---|
accepted |
We queued the message for delivery. |
delivered |
The receiving server took the message. |
deferred |
The receiving server refused the message for now, or a sending limit held it back. We try again later. |
bounced |
The message was not delivered and we will not try again. We add the recipient to the suppression list. |
complaint |
A report about the message reached us: the recipient marked it as spam, or a mailbox provider reported it as fraud or as failing authentication. We add the recipient to the suppression list. |
rejected |
The relay refused the message, or one of its recipients, when your application submitted it over SMTP. The reply your application got says why. |
The Event column and the Event filter write each category with a capital letter. Receive delivery events with webhooks lists the detailed event types behind each category.
Rows marked Other (other or null in the API) are steps of a delivery that have no category of their own, such as the end of a delivery attempt. The Event filter cannot select them.
The Event filter also offers suppressed and report, and both normally find nothing:
- We record no
suppressedevent. A message to a suppressed address appears asrejectedwhen the relay refused the address over SMTP, and not at all when the send API left it out. - DMARC and TLS reports about your domains are kept apart from events. The dashboard does not list them, and the API returns them with the reputation report.
Troubleshooting
Section titled Troubleshooting- No events in this window
- Nothing matches the filters. Choose a longer Window, check the whole address in Recipient, or select Clear. A message sent in the last minute or so may not have its events yet.
- A message you sent is not listed
- When the relay refused the whole message before it was queued, your application got the refusal as an SMTP reply or an API error, and the list may hold a
rejectedevent or nothing. Send over SMTP with credentials and Send email over HTTPS explain each refusal. - A recipient has
acceptedbut nothing after it - The message is still in the queue, or the receiving server has not answered yet. A
deferredevent means we are trying again. Check again later, and look at Response on the latest event.
Related
Section titled RelatedWith the API
Section titled With the APIcurl "https://api.coritan.com/api/v1/client/smtp-relay/4812/events?category=bounced&hours=168&limit=50" \
-H "Authorization: Bearer $CORITAN_TOKEN"
category- Optional. One of
accepted,delivered,deferred,bounced,complaint,rejectedandreport. Any other value answers an empty list. recipient- Optional. The whole recipient address. Case does not matter.
hours- How far back to look, 1–2160 hours (90 days). The default is
24. limit- The most events to return, 1–500. The default is
100.
A value for hours or limit outside its range answers 422. The answer lists the newest events first:
{
"items": [
{
"id": 90415,
"event_type": "delivery.failed",
"category": "bounced",
"queue_id": "7d2c91a04e",
"message_id": "<175890432171.2481.9311874401294517206@example.com>",
"sender": "receipts@example.com",
"recipient": "alex@example.com",
"remote_host": "mx.example.net",
"response": "550 5.1.1 <alex@example.com>: Recipient address rejected: User unknown",
"local_ip": "203.0.113.25",
"node_id": 3,
"occurred_at": "2026-09-16T10:52:08"
}
],
"total": 1
}
id- The event's id, the same one a webhook request carries.
event_type- The detailed event type, such as
delivery.failed. category- The category from Event categories, or
otherornullfor a step that has none. queue_id- Our id for the message in the delivery queue, the same on every event about that message.
message_id- The message's
Message-IDheader. senderandrecipient- The sender and recipient addresses, in lower case. An event about the whole message, such as
accepted, names only its first recipient. remote_host- The receiving server we connected to.
response- The receiving server's reply or the reason for the event, up to 2,000 characters.
local_ip- The address the message left our servers from.
node_id- Our id for the mail server that handled the event. Use it only to tell servers apart.
occurred_at- When the event happened, in UTC, with no time zone suffix.
total- The number of events in this answer, which is never more than
limit. It does not count the events the limit left out.
Any field except id, event_type and occurred_at is null when the event does not carry it.
On a Mail Hosting service
Section titled On a Mail Hosting serviceMail Hosting has no Events tab, but the same operation works under /client/mail/{service_id}/events and lists the events we record for mail the service's mailboxes send. The Recent activity card on its Overview tab shows the latest eight events from the last seven days. Some bounces reach the sending mailbox only as an Undelivered Mail Returned to Sender message and are not listed.
API operations on this page
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/client/smtp-relay/{service_id}/events | List events |
GET | /api/v1/client/mail/{service_id}/events | List events |