What is transactional email (and how to send it right)
What transactional email is, examples, how it differs from marketing email, why to keep the two apart, the privacy basics and what a good sending service needs to have.
Updated
View as MarkdownTransactional email is the message your system sends to one person, because of something they did or something that happened to their account. They expect it: they asked for a new password, made a purchase, need to pay an invoice. It is the opposite of a campaign, which goes to many people at once because you decided to send it.
Examples#
| Kind | Examples |
|---|---|
| Account | sign-up confirmation, login code, password reset, team invite, new sign-in alert |
| Billing | receipt, payment request with a QR code, payment declined, subscription renewed or canceled |
| Orders | order confirmed, order shipped with tracking code, abandoned cart (this one is closer to marketing) |
| System | usage alert, a report the person asked for, a reply to a support ticket |
Transactional and marketing, side by side#
| Transactional | Marketing | |
|---|---|---|
| What triggers it | a person's action or an account event | you, on a date you choose |
| To whom | one person (sometimes a few) | a list or a segment |
| Does the person expect it? | yes, often right now | not necessarily |
| Unsubscribe | does not apply to essential emails (password, billing) | required, ideally one click |
| Urgency | seconds matter | minutes or hours make no difference |
| Content | the fact and the next step | offer, news, content |
The line can be thin. A receipt with half the email advertising promotions is, in practice, marketing. Providers look at the content and at how people react, not at the label.
And privacy law?#
In general, transactional email rests on the contract with the person (they asked for the service; the receipt and the password reset are part of it). Marketing needs another legal basis, such as consent, and an easy way to leave the list. Some good practices that apply to both:
- send only what is needed, with no personal data beyond what the message requires;
- handle data deletion requests that arrive as replies;
- do not use transactional email to push marketing to people who did not agree to it.
This summary is not legal advice; check with whoever handles privacy at your company.
Why keep transactional and marketing apart#
If both leave from the same domain, on the same path, a campaign with many complaints drags reputation down, and the next password email goes to spam with it. Keeping them apart means:
- separate streams at the sending service, with their own limits and reputation;
- ideally, a subdomain for marketing (for example,
news.example.com); - marketing unsubscribes that do not block transactional: someone who leaves the newsletter still gets their password reset and receipt.
What a good transactional email needs#
- Speed: sent right away, no batching.
- Your domain's authentication: aligned SPF, DKIM and DMARC. See How to set up SPF, DKIM and DMARC.
- A clear, consistent sender: "Example no-reply@example.com".
- A text part besides HTML.
- Links on your own domain, no shorteners. Click tracking usually stays off for transactional: rewriting password and billing links hurts delivery and trust.
- Invoices and payment slips as links, not attachments: attachments like these are used in scams and filters distrust them.
How to send: SMTP or API#
| SMTP | API | |
|---|---|---|
| Code change | none (swap credentials) | small |
| Returns the message ID | depends on the service | yes |
| Avoid duplicates when your system retries | hard | with an idempotency key |
| Good for | WordPress, ERPs, off-the-shelf tools, Supabase, Firebase | your own code |
Both work; many systems use SMTP for off-the-shelf tools and the API in their own code.
What to look for in a sending service#
- A timeline per message with the destination server's original answer, so you know why an email did not arrive.
- Webhooks for delivery, bounce and complaint.
- No fake "success": the API only answers success once the email is actually queued.
- Idempotency, so the same request never becomes two emails.
- A test mode that never delivers and shows the email for your team to review.
- An automatic suppression list for addresses that do not exist and people who complained.
- Explained pauses: if something goes wrong, you need the reason, the numbers and the fix, not a suspended account out of the blue.
- Support that answers in your language.
Where Couryo fits#
Couryo is a transactional email API built with all of this in mind: sending over API, SMTP or MCP (for AI agents), a timeline with each server's answer explained in plain words, transactional kept apart from marketing, ready-made templates and pauses that are always explained, with a review. Start with the quickstart.
FAQ#
Can a newsletter be sent as transactional?#
No. A newsletter is marketing: it goes to a list, by your decision, and needs an unsubscribe. Sending it as transactional mixes reputations and breaks the providers' rules.
Does transactional email need an unsubscribe link?#
Essential emails (password, receipt, billing, security) do not, because the person cannot "leave" them without leaving the service. Non-essential product emails (tips, weekly digest) should have a way to turn them off.
Can I send transactional email from my company mailbox (Google Workspace, Microsoft 365)?#
For a handful of emails it works, but those accounts have daily sending limits and were not made for systems. A transactional sending service gives you the timeline, webhooks and scale your system needs.
What is the difference between transactional and notification email?#
A notification is a kind of transactional email: the notice that something happened in the account (new sign-in, payment received). Everything above applies.