14 SaaS Product Emails — Sonar / Authentication

Free React Email Verify Email Template

One job, one button, and the raw link underneath for clients that strip it. Customize it in the free React Email playground and export production-ready TSX — no sign-up.

Sample subject
Confirm your email address
Format
React Email TSX · Free
Verify Email React Email template preview

Template details

What this verify email template includes

One job, one button, and the raw link underneath for clients that strip it. Customize it in the free React Email playground and export production-ready TSX — no sign-up. The source is standard TypeScript and React Email, so it can be sent with Resend or rendered to HTML for another email provider.

  • Production-ready authentication email structure
  • Editable in the visual React Email playground
  • Free TSX source for personal and commercial projects

How to use it

  1. 1. Customize the copy and styles in the playground above.
  2. 2. Export or copy the typed TSX source.
  3. 3. Pass dynamic props and send it from a server route with your email provider.
Follow the Resend and Next.js implementation guide

React Email TSX source

Free for personal, commercial, and client projects under the site license.

View full source code
import * as React from 'react';

import {
  Band,
  Brand,
  CodeBlock,
  CTAButton,
  Display,
  EmailLayout,
  Highlight,
  Kicker,
  Lead,
  Note,
} from './components';

export interface VerifyEmailProps {
  brand?: Brand;
  subject?: string;
  preview?: string;
  label?: string;
  kicker?: string;
  headline?: React.ReactNode;
  lead?: React.ReactNode;
  cta?: { label: string; href: string };
  /** The same link, spelled out for anyone whose client eats buttons. */
  fallback?: { intro: string; url: string; reassurance: string };
}

/**
 * Verify email — one job, one button, and the raw link underneath for the
 * clients that strip it.
 */
export function VerifyEmail({
  brand,
  subject = 'Confirm your email address',
  preview = 'One tap to confirm priya@northwind.io and secure your account.',
  label = 'Security',
  kicker = 'Verify your address',
  headline = (
    <>
      CONFIRM
      <br />
      THIS EMAIL.
    </>
  ),
  lead = (
    <>
      {'Tap the button below to confirm '}
      <Highlight color="mint">priya@northwind.io</Highlight>
      {'. The link expires in 24 hours.'}
    </>
  ),
  cta = {
    label: 'Verify email address',
    href: 'https://sonar.example.com/verify?t=8f21c',
  },
  fallback = {
    intro: 'Button not working? Paste this into your browser:',
    url: 'https://sonar.example.com/verify?t=8f21c9a4-77de-4b12-93aa-0e5cd1f0',
    reassurance:
      'If you didn’t create a Sonar account, ignore this email — nothing happens without confirmation.',
  },
}: VerifyEmailProps = {}) {
  return (
    <EmailLayout
      brand={brand}
      subject={subject}
      preview={preview}
      label={label}
      accent="mint"
    >
      <Band tone="blue" padding="52px 32px">
        <Kicker color="mint">{kicker}</Kicker>
        <Display size={50} on="light">
          {headline}
        </Display>
        <Lead on="light">{lead}</Lead>
        <CTAButton href={cta.href} background="mint" color="ink">
          {cta.label}
        </CTAButton>
      </Band>

      <Band padding="36px 32px">
        <Note>{fallback.intro}</Note>
        <CodeBlock variant="light" margin="12px 0 0 0">
          {fallback.url}
        </CodeBlock>
        <Note>{fallback.reassurance}</Note>
      </Band>
    </EmailLayout>
  );
}

export default VerifyEmail;

Related templates

More from 14 SaaS Product Emails — Sonar.

View the complete bundle