Skip to content
Launch offerSolo $19 $49 · Team $39 $79Launch pricing ends Sunday
Mailblocks

Mailblocks for Amazon SES

Email templates for Amazon SES.

HTML + plain-text transactional templates for Amazon SES v2 — password reset, verification codes, receipts and alerts, tested for Gmail, Outlook and Apple Mail.

SES is the cheapest way to send at scale but gives you no templates of its own. Mailblocks fills that gap: render in your Lambda or server, then hand SES both parts.

  1. 1

    Render HTML and text with @react-email/render (works in Node 18+ and Lambda).

  2. 2

    Send with SendEmailCommand from @aws-sdk/client-sesv2, Simple content.

  3. 3

    Or upload dist/ HTML as SES templates with {{handlebars}} placeholders for SendBulkEmail.

send.tsx
import { SESv2Client, SendEmailCommand } from "@aws-sdk/client-sesv2";
import { render } from "@react-email/render";
import PasswordReset from "@/emails/password-reset";

const ses = new SESv2Client({ region: "us-east-1" });
const email = <PasswordReset style="clean" firstName={user.firstName} resetUrl={url} />;

await ses.send(new SendEmailCommand({
  FromEmailAddress: "Fieldnote <security@fieldnote.app>",
  Destination: { ToAddresses: [user.email] },
  Content: {
    Simple: {
      Subject: { Data: "Reset your Fieldnote password" },
      Body: {
        Html: { Data: await render(email) },
        Text: { Data: await render(email, { plainText: true }) },
      },
    },
  },
}));
  • Images use absolute HTTPS URLs from mailblocks.config.ts — host your logo on S3/CloudFront.
  • Set up a configuration set for bounce/complaint tracking; templates don't include tracking pixels.
  • SES has no plain-text auto-generation, which is why the kit ships one per template.

Amazon SES docs: docs.aws.amazon.com/ses/latest/dg/send-email-api.html

Popular with Amazon SES users

Get all 40 — $19