Skip to main content
The Emails page is the operational record of messages accepted by the active project. Use it to confirm what Signal received, follow asynchronous delivery, and diagnose recipient-specific failures.

Email list

Each row shows the subject, recipient, current status, creation time, and topic when one applies. Open a row instead of assuming the list status explains the whole outcome.

Statuses

delivered means the recipient mail server accepted the message. It does not guarantee inbox placement, reading, or a human recipient.

Message detail

The detail header shows the status and any error, then identifies the sender, recipient, created and sent times, Signal ID, provider message ID, reply-to, CC, BCC, tags, and test-mode state when present. Use the content tabs for different questions: Timeline events can include queued, sent, delivered, opened, clicked, bounced, complained, failed, rejected, delayed, suppressed, unsubscribed, read-engaged, and scroll-depth activity. Only events enabled and observed for the project will appear.

Cancel a scheduled message

Open the message and cancel it while it remains scheduled. Once dispatch begins, treat the send as irreversible. Cancellation changes the message to cancelled and prevents provider delivery.

Diagnose a failure

1

Read the terminal status

Distinguish bounce, complaint, suppression, rejection, and internal failure. They require different fixes.
2

Read the timeline

Find the last successful transition and the first failure event.
3

Check recipient state

Open the suppression list and contact topic preferences before retrying the same address.
4

Check sender state

Confirm the From domain remains verified and its authentication records still resolve.
5

Correlate your request

Use the Signal email ID, your idempotency key strategy, tags, metadata, and webhook event ID to connect application logs without recording secrets or message bodies.
Do not remove a bounced, complained, or unsubscribed address from suppression and immediately resend. First establish a legitimate reason and the recipient’s current consent.

SDK example

After creating an authenticated client with the matching SDK setup guide, use the operation for your language or framework.
TypeScript