Senlo vs React Email

React Email is for the developer. Senlo is for whoever edits the email.

React Email turns emails into React components in your repo: typed, reviewed, deployed with the app. That works until someone who does not write code needs to change a sentence. Senlo is a visual editor, a template store, an API and automations in one app, sending through the same Resend, Postmark or SES account you use now. Many teams run both.

No pull request for a typo

In Senlo the welcome email is edited, previewed with real data and published by the person who owns the copy. The code that sends it does not change.

An app, not a component

React Email 6 added an editor you can embed. Senlo is the rest of it too: storage, roles, test sends, delivery logs, and a POST /api/triggered your code calls.

Lifecycle flows without a scheduler

Welcome series, trial reminders and nudges become automations triggered by events from your app, instead of cron jobs and queues you maintain.

Before and after

The same welcome email, sent the React Email way and the Senlo way.

React Email: the template ships with your app
// changing the copy in emails/welcome.tsx means a PR and a deploy
import { Welcome } from "./emails/welcome";

await resend.emails.send({
  from: "hello@example.com",
  to: user.email,
  subject: "Welcome to Acme",
  react: <Welcome name={user.name} />,
});
Senlo: the template lives in the editor
# copy and subject are edited in Senlo; this call never changes
curl -X POST https://senlo.io/api/triggered \
  -H "Authorization: Bearer snl_..." \
  -H "Content-Type: application/json" \
  -d '{
    "id": "welcome",
    "to": "ana@example.com",
    "data": { "name": "Ana" }
  }'

Feature by feature

FeatureSenloReact Email
Templates as code in your repo, reviewed in pull requests
Your own React components and design tokens in emails
Visual editor for people who do not write code
Since 6.0, @react-email/editor is a component you embed in your own admin; you build where edits are saved and who may make them.
Change copy without a deploy
Unless you build that around the editor.
Template store: send by template id with variables
React Email renders in your code. Templates can be uploaded to Resend and sent from there, on Resend only.
Works with Resend, Postmark, SES or SMTP
React Email gives you HTML; any provider can send it.
Preview with real data and test sends
The preview server renders sample props; test sends and shared previews are yours to build.
Event-triggered automations with waits and branches
Log of what was sent to whom, with opens and clicks
Resend's dashboard logs sends; React Email itself does not.
Export the email as HTML
Senlo also exports MJML.
Import existing React Email templates
On Senlo's roadmap, as HTML and MJML import.
Open source
Senlo is AGPL-3.0; React Email is MIT.

From the React Email 6.0 announcement, the editor guide and Resend templates with React Email, checked 2026-11-02.

What it adds to your bill

Your Resend bill does not change: Resend keeps delivering at its own rate. Senlo is the only addition, and it is priced by emails sent, not by contacts.

Free

$0 / month

Up to 3,000 emails and 1,000 automation runs a month, one person.

Pro

$19 / month

Up to 50,000 emails and 10,000 automation runs a month, 5 people with roles and a 30-day audit log.

Team

$59 / month

Up to 250,000 emails and 100,000 automation runs a month, unlimited people with roles and a 90-day audit log.

Self-hosted

≈ $8 / month

The same code, AGPL-3.0, on a 4 GB VPS of your own, any volume. Plus your time on upgrades and backups.

Above 250,000 emails a month Senlo Cloud has no plan: self-host, or write to us. Details on the pricing page.

Which one to pick

Pick Senlo if

  • Product, marketing or support people need to change email copy, and every change waits for a developer.
  • You want onboarding and lifecycle flows without writing a scheduler for them.
  • You want one place to see what was sent to a user, and whether they opened it.
  • You would rather not build storage, roles and previews around an embedded editor.

Stay with React Email if

  • Only developers touch emails, and a pull request per change suits you.
  • Emails reuse your app's components, types and design tokens.
  • You want every template versioned in git next to the code that sends it.
  • You already have an admin panel and the embedded editor covers what your team needs.

Moving an email from React Email to Senlo

One email at a time; the rest stay in code.

  1. 1

    Connect your provider

    Paste the same Resend or Postmark key you use today, or SMTP credentials for SES or Mailgun.

  2. 2

    Rebuild the email

    In the visual editor, with merge tags for the props your component took. There is no importer yet.

  3. 3

    Replace one call

    Swap resend.emails.send({ react }) for POST /api/triggered with the template id and data.

  4. 4

    Hand over the copy

    Invite the person who owns the wording (team members are on Senlo Cloud Pro and Team). From then on, they publish changes without a deploy.

Questions

Is Senlo a replacement for React Email?
Not for every email. If an email is built from your own components, lives next to the code that sends it and only developers change it, React Email is the better home for it. Senlo is for the emails other people need to edit: welcome and onboarding copy, announcements in a lifecycle flow, the wording of a receipt.
React Email 6 has a visual editor now. Why not use that?
You can, and if you already have an admin panel it may be enough. The editor is a component: you still decide where templates are stored, who may edit which one, how to preview with real data, how to version them and how to send. Senlo is those parts already built, plus automations.
Can I import my React Email templates?
Not yet. HTML and MJML import is on the roadmap. Today a template is rebuilt in Senlo's editor; a typical transactional email takes well under an hour.
Can I use both?
Yes, and many teams should. Keep the emails that are really code in React Email, move the ones whose copy changes often to Senlo, and send both through the same Resend or Postmark account.
Do I need a different email provider?
No. Senlo connects to the provider you already send React Email output through: Resend, Postmark, or SMTP for SES, Mailgun or your own server. Your domain and sending setup stay as they are.
Is Senlo free like React Email?
The code is free (AGPL-3.0) and self-hosts with one docker compose up. The hosted version has a free plan and a paid plan for more volume and team members; the costs are in the section above.

Let the rest of the team edit the email.

Sign up, paste your provider key, send the first email in minutes. Or self-host it today.

Senlo vs React Email: a visual editor for the whole team — Senlo