Mailblocks for Postmark
HTML email templates for Postmark.
Postmark rewards senders who include a real plain-text part. Every Mailblocks template ships with one, generated from the same source so the two never drift apart.
- 1
Render the template with
@react-email/render(or read the pre-built file fromdist/). - 2
Send
HtmlBodyandTextBodytogether through theoutboundtransactional stream. - 3
Optional: paste the HTML into a Postmark Template and swap values for
{{mustache}}variables.
import { ServerClient } from "postmark";
import { render } from "@react-email/render";
import Receipt from "@/emails/receipt";
const postmark = new ServerClient(process.env.POSTMARK_SERVER_TOKEN!);
const email = <Receipt style="clean" amount="$158.40" receiptNumber="2418-7730" />;
await postmark.sendEmail({
From: "billing@fieldnote.app",
To: customer.email,
Subject: "Your Fieldnote receipt [#2418-7730]",
HtmlBody: await render(email),
TextBody: await render(email, { plainText: true }),
MessageStream: "outbound",
});- Keep billing and security mail on the transactional stream and digests/release notes on a broadcast stream.
- Largest template is well under Gmail's 102 KB clipping limit, so Postmark's footer and unsubscribe links stay visible.
- Postmark Templates use Mustachio: replace sample values in the HTML with
{{variable}}placeholders.
Postmark docs: postmarkapp.com/developer/user-guide/send-email-with-api
Popular with Postmark users
Get all 40 — $19Payment receipt
№07 · BillingStripe-style receipt with line items, tax, payment method and a PDF link.
Invoice
№08 · BillingInvoice with bill-to details, due date, line items and a pay-now button.
Payment failed
№09 · BillingDunning email with the reason, retry date and a one-tap update-card button.
Password reset
№14 · SecurityPassword reset with expiry, request details and a clear didn't-request-this path.