Transactional email
Your system's emails arrive, and you see what happened.
Sign-up confirmations, receipts, access codes, and alerts go out through Postal, on your domain. Every email has a history in the dashboard: delivered, opened, or bounced.
Sign-up is open, start on the Free plan
Who it's for
A platform for those who use it and those who build it
Both work in the same account and look at the same numbers.
For non-programmers
Whoever handles support or the product opens the dashboard and checks what happened to an order, a code, or a receipt, without asking the tech team for help.
- Search by recipient, sender, subject, or email ID
- Timeline of each send, from sending to opening
- The email as the person received it
For developers
The API follows Resend's format, so people already using it usually just swap the key and the address. SMTP sends show up in the same dashboard.
- REST API, SMTP, and libraries for Node.js, PHP, and Laravel
- Idempotency key: repeating a request doesn't duplicate the email
- Signed webhooks for every event
In five steps
How an email arrives
From your system's request to the inbox, every step is recorded.
import { Postal } from 'postal-so';
const postal = new Postal(); // reads the key from POSTAL_API_KEY
await postal.emails.send({
from: 'Aurora Cosméticos <[email protected]>',
to: '[email protected]',
template: {
id: 'order-shipped',
variables: { NAME: 'Ana', ORDER: 10482 },
},
});In plain words: send the “pedido-enviado” template to Ana, filling in the name and the order number.
Sending safety
Test and protect before your first customer
Three safeguards that come built into sending.
In numbers
Related pages
Keep going
Other parts of the platform that work together with this one.
Frequently asked questions
What's the difference between transactional and marketing email?
Transactional email responds to an action by the person: confirming a sign-up, getting a receipt, resetting a password. Marketing email is what you decide to send, like newsletters and promotions. For that, use campaigns and automations, which handle unsubscribing.
Do I need to know how to code?
To connect sending to your system, someone on the team needs to set up the API or SMTP. After that, the dashboard works for anyone: search for an email, see the history, and check what happened. On systems like WordPress, you just fill in server, port, username, and password.
Does “Delivered” mean the person saw the email?
No. Delivered means the person's email server accepted the message. It can still land in another folder, and the open only shows up if tracking is turned on for the domain.
Do emails carry any Postal branding?
It depends on the plan. On some plans, sent emails and public forms carry the “Sent with Postal” badge at the bottom. See the plans and pricing.
What if I go over the monthly sending quota?
Without an alternative, sends are refused until the quota renews, on the 1st. On plans that allow it, the owner or an administrator can turn on sending above the quota, charged per thousand extra emails. And, when your plan offers the Sends add-on, you can buy, with a one-time payment, a reserve of sends that is only used after the quota runs out.
Can I send over SMTP, without using the API?
Yes, if your plan includes SMTP. Use the server smtp.postal.so, port 465 (TLS) or 587 (STARTTLS), the username postal, and an API key as the password. Sends go through the same rules and show up in Emails.