Sign in Create account
Dashboard guide

E-mails

The list of sent and scheduled emails, the detail of each one and the delivery events.

What it's for

The Emails screen shows everything the team sent through the API and SMTP, with the delivery status of each message. From here you can check whether an email arrived, see the exact content that went out, resend it, cancel a scheduled send and share an email with someone who doesn't have an account.

When to use: To answer "did the customer's email arrive?", investigate bounces and complaints, or test an integration and see the result right away.

#Email list

Where to find it: Emails › Emails. Address: app.postal.so/emails.

The list starts with the most recent emails. Postal keeps emails, attachments and history for 30 days (scheduled ones until they go out); after that they leave the list. To keep them longer, use webhooks or the Export button.

Toolbar

ItemWhat it does
Search by recipient, sender, subject or IDSearches as you type (it waits for a pause). It is also useful for pasting the ID of an email that showed up in a log or a webhook.
PeriodShortcuts (Today, Yesterday, Last 24 hours, Last 3 days, Last 7 days, Last 15 days and Last 30 days), plus Pick days on the calendar for a custom range and All time to clear it. Dates follow your browser's time zone.
FiltersOpens a panel with three filters: Status (All statuses or one of the statuses below), Domain (All domains) and API key (All keys). The button shows how many filters are on. See how the button works.
ExportGenerates a CSV file with the emails in the list, respecting the search, the period and the filters. The file is built in the background; the download starts from the task card in the corner of the screen and stays in Settings › Exports for 7 days. With an empty list, the button is turned off (There is nothing to export with these filters.).
View codeThe </> button in the header shows how to List emails through the API (GET /emails).

Columns

ColumnWhat it shows
ToThe recipients, with a status icon on the left. Clicking opens the detail.
StatusThe most advanced state of the email (table below).
SubjectThe subject, cut off if it is long.
Sent / Sent atHow long ago the email went out (or when it will go out, if scheduled). Click the column title, or the value itself, to switch between Sent (relative) and Sent at (full date). Your choice is saved in this browser.
Row menuView details; Copy ID; Resend (creates a new email with the same sender, recipients, subject and content, without the attachments; it doesn't appear on scheduled emails); Cancel sending (only on scheduled emails).

Email status

The status only moves forward: a Clicked email doesn't go back to Delivered, even if the events arrive out of order.

StatusWhat it means
QueuedAccepted by Postal, going out in a moment.
ScheduledSet for a future date. It can be rescheduled or canceled until the send time.
SentAccepted by the sending provider.
DelayedThe recipient's server postponed delivery; new attempts happen on their own.
DeliveredDelivered to the recipient's server.
OpenedThe recipient opened it (only with open tracking turned on for the domain).
ClickedA link was clicked (only with click tracking turned on).
BounceReturned by the recipient's server. Permanent bounces put the address on the suppression list.
SpamThe recipient marked it as spam. The address also goes to the suppression list.
FailedIt could not be sent: unverified domain, sending paused, inaccessible attachment and other reasons.
SuppressedAll or some of the recipients were on the suppression list and did not receive it.
CanceledA scheduled send was canceled.

More details on the events and the email object are in Status of an email in the API reference.

Tip

To find addresses that don't exist, filter by Status › Bounced. The paused-sending banner also takes you straight to that list. To see only what an integration sent, filter by the API key it uses.

When the list is empty

If the team doesn't have a domain yet, the screen says No emails sent yet and asks you to add a domain first; after that, create an API key and make a POST /emails request. The step-by-step is in Getting started.

#Email detail

Where to find it: Emails › Emails, by clicking an email. Address: app.postal.so/emails.

The detail shows a whole message: where it came from, who it went to, what happened to it and how the content turned out. The title is the subject and, right below it, the current status.

Header buttons

ItemWhat it does
TimelineOpens a side panel with every event of the email, from oldest to newest, with date and time: created in the queue, sent, delivered, opened, clicked, bounced and so on. On a bounce, it shows whether it was a Permanent bounce or a Temporary bounce and the server's message, which helps you understand the reason.
InsightsOpens the email's deliverability checks: Plain-text version, No link shorteners, HTTPS links, No links to IP addresses, Images with alt text, HTML size (Gmail clips messages above 102 KB), Text-to-image balance, A sender that accepts replies, Subject not in all caps, Unsubscribe option and DMARC configured. What didn't pass comes first, with the explanation. If the AI assistant is available, How do I fix it? explains step by step (uses 1 AI credit).
View codeShows how to retrieve this email through the API (GET /emails/{id}).
ShareCreates a public link to the email, valid for 48 hours, and copies it to the clipboard (the button turns green with Copied). Anyone who opens the link sees the message without needing an account. Further clicks on Copy link copy the same link.
ResendCreates a new email with the same content and opens the new detail. It counts toward the sending quota like any other.
Reschedule / Cancel sendingOnly on scheduled emails. Reschedule changes the time (see Scheduled); Cancel sending gives up on the send.

Email data

FieldWhat it shows
From, To, Cc, Bcc, Reply toThe addresses as they were sent. Cc, Bcc and Reply to only appear when they exist.
IDThe email's identifier, with a copy button. It's what the API and webhooks use.
CreatedWhen Postal received the send request.
SourceAPI or SMTP.
RequestThe View request log link takes you to the log of the call that created the email, with the body sent and the response.
Scheduled forThe date and time of the send, on scheduled emails.
TagsName and value pairs you sent in the API, useful for filtering and relating to your own system.

Content

TabWhat it shows
ViewThe rendered email, as the recipient sees it.
HTMLThe HTML code sent, with a copy button.
TextThe plain-text version.
RawThe full message, with the headers (.eml format). It's the best source for investigating delivery problems.

If the email has attachments, the Attachments section lists each file with its type and size and a Download link.

See also: GET /emails/{id} · Email events · Diagnosis through the API.

#Scheduled

Where to find it: Marketing › Scheduled. Address: app.postal.so/scheduled.

A single list, by day, of everything set for a time: scheduled broadcasts, emails scheduled through the API or the dashboard, and the scheduled activations and pauses of automations. Use it to see what is going out and when, without opening each screen.

ItemWhat it does
Filters › TypeShows only one type: Broadcast, Email, Activation or Pause (All types clears the filter).
Times in ...A reminder of the time zone the times appear in: your browser's. A broadcast scheduled in another time zone also shows the time chosen there.
DayEach day has a title (Today and Tomorrow when applicable) and the number of items (N items).
RowThe time, the type (icon and badge), the item name (a link that opens the broadcast, the email or the automation) and a detail line: To the segment or the addresses, or, for automations, The automation starts taking contacts / The automation stops taking contacts.
Row menuOpen; Reschedule (opens the date and time picker for the type); Cancel schedule. Canceling a broadcast or an email stops it from going out; canceling an activation or a pause only removes the mark and the automation stays as it is.

The screen shows the next 100 of each type (Showing the next 100 of each type.) and refreshes on its own. Emails and broadcasts can be scheduled up to 30 days ahead.

Reschedule an email

Reschedule opens Reschedule email: the content and recipients stay the same, only the time changes. Pick the Date, the Time and the Time zone (Brasília time, UTC and others), or use one of the Shortcuts: Tomorrow at 9 AM, Monday at 9 AM and In 1 hour. The summary below confirms the time in the chosen zone. If the email has already gone out or was canceled, the panel says it is no longer scheduled.

See also: Reschedule email (API) · Campaigns · Automations.

#Events

Where to find it: Marketing › Events. Address: app.postal.so/events.

Events are things that happen in your product that you send to Postal: a purchase, a signup, a cancellation. They are tied to a contact, show up here, and can start automations and personalize emails. Postal keeps events for 90 days.

Don't confuse them with an email's events (delivered, opened, clicked), which live in the email's timeline, or with webhook events.

List

ItemWhat it does
Contact (email or ID)A search field to see only one person's events.
Filters › EventPicks an event name from the ones that have already arrived (All events clears it).
ColumnWhat it shows
EventThe name (for example, order.paid). Clicking opens the detail.
ContactThe contact's email, or a dash when the event has no contact.
PropertiesA summary of the data sent with the event.
WhenHow long ago it happened; the mouse pointer shows the full date.

Clicking an event opens a window with the name, the contact and the date, the properties in JSON (with Copy properties), the event ID and the View contact link.

Send an event

The panel on the right, Send an event, has ready-made code in cURL, Node.js, PHP and Python (Language tab) with a copy button. Any API key works, including send-only ones. The fields:

FieldWhat it is
nameRequired. Letters, numbers and the symbols . _ : - (like order.paid).
contactEmail or contact ID. If the email doesn't exist, the contact is created. Without contact, the event is recorded but doesn't start automations.
propertiesA free-form object up to 16 KB. Used in filters, in automation conditions and in emails, like {{event.order_id}}.
occurred_atOptional. When it happened (ISO 8601); defaults to now.

Repeat the request with the same Idempotency-Key header so the event isn't duplicated.

Tip

Before building an event-based automation, send a test event and check the name here: the name must be identical in the automation's trigger.

See also: Events (API) · Automations · Idempotency.