SenderKit
GUIDETransactional email

Transactional email: what it is, the types, and how it's sent

Transactional email is the mail your app sends because a user did something — a password reset, a receipt, a verification code. It’s one-to-one, expected, and time-sensitive, which makes it very different from marketing email in how you send it and how it’s judged. Here’s the full picture.

What transactional email is

A transactional emailis automatically triggered by an individual user’s action or an account event, and it carries information that user is expecting. Because the recipient asked for it (implicitly or explicitly), it doesn’t need marketing consent and is held to a higher delivery standard — a receipt that lands in spam is a support ticket.

Transactional vs marketing email

The difference isn’t the content, it’s the trigger and the audience:

  • Transactional— triggered by one user’s action, sent to one person, expected, account-specific. Examples: password reset, order receipt.
  • Marketing — sent on your schedule to a list, promotional, requires consent and an easy unsubscribe. Examples: a newsletter, a sale announcement.

They typically run on separate infrastructure: you want transactional mail to be fast and reliable, and you never want a marketing problem to delay a password reset.

Common types of transactional email

  • Authentication — email verification, OTP codes, magic-link sign-in.
  • Account — password resets, security and new-device alerts, profile changes.
  • Commerce — order confirmations, payment receipts, invoices, shipping and delivery updates.
  • Lifecycle — welcome emails, trial and usage notifications, and other event-driven messages.

How transactional email is sent: SMTP vs API

You can send over SMTP — the classic mail protocol — or through an HTTP API, which is how most modern apps do it. An API send is a single authenticated request naming the template and variables, which is simpler to integrate, easier to get delivery and bounce feedback from, and doesn’t tie up a connection:

app/api/forgot-password/route.ts
import { SenderKit } from "@senderkit/sdk";

const senderkit = new SenderKit({ apiKey: process.env.SENDERKIT_API_KEY! });

await senderkit.send({
  template: "password_reset",
  to: user.email,
  vars: { first_name: user.firstName, reset_url: resetUrl },
});

See the email API for the full sending model, or the language-agnostic walkthrough on the transactional email use case.

Deliverability is the hard part

Sending is easy; landing in the inbox is the work. At minimum, authenticate your domain with SPF, DKIM, and DMARC, send from a domain you control, and keep bounces and complaints low. If transactional mail is going to spam, the why-emails-go-to-spam checklist walks through every common cause.

Best practices

  • Keep templates out of your codebaseso copy changes don’t need a deploy.
  • Send fast. A verification code that arrives in 30 seconds is a failed signup.
  • Make it plain and scannable — the action or information should be obvious in one glance.
  • Monitor delivery with webhooks for bounces and failures, and have a fallback channel (SMS, push) for critical messages.

Choosing a transactional email service

Look for fast, reliable delivery, real template management, clear webhooks, and no lock-in so you can switch providers without rewriting code. If you also send SMS or push, one API across channels saves stitching products together. Compare the common options — SendGrid, Mailgun, Twilio — or see how SenderKit approaches it on the email API page.

Frequently asked questions

What is transactional email?

Transactional email is automated, one-to-one email triggered by a user's action or account event — a password reset, order receipt, verification code, or shipping update. It carries information the recipient is expecting, as opposed to marketing email, which is broadcast promotional content.

What is the difference between transactional and marketing email?

Transactional email is triggered by an individual action and contains expected, account-specific information; marketing email is sent in bulk to a list to promote something. They usually go through different infrastructure and have very different deliverability and consent rules.

What are examples of transactional emails?

Password resets, email verification and OTP codes, magic-link sign-ins, order and payment receipts, shipping notifications, account and security alerts, and welcome emails are all transactional.

How is transactional email sent?

Either over SMTP or, more commonly today, through an HTTP API call from your backend. An API send is usually a single authenticated POST with the recipient, template, and variables — faster to integrate and easier to get delivery feedback from than raw SMTP.

Send transactional email in minutes

One API for transactional email, SMS, and push — templates out of your codebase, deliverability handled. Free up to 3,000 messages a month.

By creating an account, you agree to our Terms.