← All terms

Transactional email

An email your application sends to one person because of something they did: a purchase, a password request, a new account.

Examples

  • the receipt or invoice after a purchase;
  • the password reset link;
  • the sign-up confirmation, with the link that validates the address;
  • the one-time login code;
  • the shipping notice.

Each one concerns a single person, who is waiting for it.

Transactional vs marketing email

A campaign

A marketing email, a campaign, goes out when you decide, to a list of people who agreed to hear from you. It informs or promotes, and each message offers a way to unsubscribe.

A transactional email

A transactional email goes out when the recipient does something, to that person alone, and carries what their action calls for. Nobody subscribes to password resets: their own action is the reason for the message.

How Mailcheer sends them

Your application calls POST /api/v1/emails with an API key: sender, recipients, subject, HTML or plain text, plus copies, attachments and tags if you need them. The sender address must belong to a domain verified in your workspace.

Mailcheer answers with the message’s ID. A webhook then tells your application when the message is delivered, opened, clicked, bounced or reported as spam.

curl -X POST https://mailcheer.com/api/v1/emails \
  -H "Authorization: Bearer mch_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Your app <no-reply@yourdomain.com>",
    "to": "customer@example.com",
    "subject": "Reset your password",
    "html": "<a href=\"https://yourapp.com/reset/…\">Choose a new password</a>",
    "track_opens": false
  }'

One suppression list for both

Campaigns and API sends share your workspace’s suppression list. A hard bounce or a spam complaint on a transactional email adds the address and takes it out of your campaigns. An unsubscribe, a bounce or a complaint on a campaign lands on the same list.

Before each send, the API checks every recipient, copies included, against that list and the one Mailcheer keeps for the whole platform. If one address is on it, the API refuses the call and gives the reason for each: unsubscribed, hard bounce, spam complaint, removed by hand. Nothing leaves half-sent, and your application knows which address stopped it.

Questions

What happens when a transactional email bounces?

The message’s status changes, and your application receives an email.bounced event if it listens through a webhook. A hard bounce also puts the address on your suppression list: the API refuses the next call to it and gives the reason.

Can I turn off open tracking?

Yes, message by message: send track_opens: false and Mailcheer adds no tracking pixel. A plain-text email carries none in any case.

Can transactional emails and newsletters use the same domain?

Yes. The API accepts any domain verified in your workspace: the one your campaigns use, or another, such as a subdomain kept for your application’s messages.