Email Verification for Sign Ups: Add It With Claude Code

Add email verification for sign ups with Claude Code: how the flow works, what to tell Claude Code, a sample email, and how to handle unverified users.

Quick answer

Email verification for sign ups sends each new user a one-time link or code, and the account is confirmed once they use it. To add it, connect an email service, then ask Claude Code to build the flow: the verification email, a link that expires, a resend button and limits on what unverified accounts can do.

Last checked: October 2026

On this page
  1. Why verify new users' email addresses?
  2. How does an email verification flow work?
  3. Already using a sign-in tool? Check what it sends
  4. What to tell Claude Code to add email verification
  5. Sample email
  6. How should you handle unverified users?

Someone signs up to your SaaS with a typo in their email address, or with an address that belongs to someone else. Without a check, your project has no way of knowing. Email verification for sign ups solves this: your project sends a short email with a link or code, and the account is confirmed when the person uses it.

This guide is for people building SaaS products and sites with Claude Code who want new accounts confirmed before they're fully active. You'll see how the flow works, the message to send Claude Code, a sample email you can adapt, and how to treat people who haven't verified yet.

Why verify new users' email addresses?

Verifying an email address proves the person signing up can open emails sent to it. That matters because so much of your SaaS depends on email reaching the right person.

  • Password resets go to the right inbox. A password reset email gives access to whoever controls the address, so you want to know it's really theirs.
  • Typos get caught on day one, not weeks later when a receipt or invoice goes nowhere.
  • Other people's addresses stay protected. Without verification, anyone can sign up using an address they don't own.

OWASP, the nonprofit that publishes widely used web security guidance, recommends confirming that someone owns an address before their account is fully switched on.

How does an email verification flow work?

Your project creates the account, sends a one-time link or code, and marks the account as verified once the person uses it.

StepWhat happens
1. Someone signs upYour project creates the account and marks it "unverified".
2. A one-time token is createdA long, random string tied to that account, with an expiry time.
3. The verification email goes outYour transactional email service sends it. (Transactional emails are the one-to-one messages your product sends because of something a person did, like signing up.)
4. The person clicks the link or enters the codeYour project checks the token matches, hasn't expired and hasn't been used.
5. The account is marked verifiedThe token is used up, and the person carries on into your product.

Link or code? A link is one click. A code is typed into your site. Auth0, a sign-in service, points out that automatic email scanners can follow links and verify an account by accident, which a typed code avoids. For most SaaS products a link works well; choose a code if you'd rather each person confirms by hand.

Two security basics. OWASP recommends that tokens are random, work once and expire. It also suggests your sign-up form shouldn't reveal whether an address is already registered. Show the same message either way, such as "We've emailed a link to the address you gave."

Already using a sign-in tool? Check what it sends

If Claude Code built your sign-ups on a sign-in service such as Supabase Auth or Auth0, verification may already be switched on. On hosted Supabase projects, users must confirm their email to sign in by default, and Auth0 sends verification links at sign-up by default.

The catch is sending. Supabase's built-in email service is meant for trying things out: it sends only to members of your project's team and is limited to 2 emails an hour. For real users, Supabase asks you to send through your own email service, either through its custom SMTP settings or its Send Email Hook. (SMTP is the standard way email servers pass messages to each other.)

Tell Claude Code

We use Supabase for sign-ins. Check whether email confirmation is turned on, and set it up so Supabase's confirmation emails go out through SimpleSends so every new user gets them.

Claude Code checks your settings, connects the two and sends you a test.

What to tell Claude Code to add email verification

First, connect an email service. With SimpleSends, that takes four steps:

  1. Sign up on the SimpleSends website and follow the steps there to set up the email address you'll send from. To send from your own domain, this includes adding a few DNS records where your domain is registered. (DNS records are settings that tell the internet your email service may send for your domain; our guide to verifying a domain for email walks through them.)
  2. In Claude Code, open Customize, then Connectors, choose Add, then Add custom connector. Fill in the fields below. A connector is how Claude Code talks to an outside service, using a standard called MCP (Model Context Protocol).
  3. When Claude prompts you to connect, log in to SimpleSends.
  4. Back in the Claude Code chat, tell Claude Code: "I've connected SimpleSends for all transactional email." It takes it from there, including adding what your project needs to send email.
FieldWhat to enter
NameSimpleSends
MCP server URLhttps://mcp.simplesends.com/mcp

Then describe what you want, the way you'd brief a developer on your team:

Tell Claude Code

I'd like new users to confirm their email address when they sign up. Send them a short verification email from hello@yourcompany.com with one button. The link should work once and expire after 24 hours. Until they verify, let them sign in but show a banner asking them to check their inbox, with buttons to resend the email or change their address. Keep inviting teammates and paid upgrades locked until they've verified. If someone signs up with an address that's already registered, show the same message as a normal sign-up. Show me a preview of the email and send me a test before it goes live.

What to expect: Claude Code looks at how your sign-ups work now, writes and designs the email, builds the page the link opens and the banner, and shows you a preview. It then sends a test to your own inbox from the chat. Once you're happy, real verification emails go out from your live project whenever someone signs up.

To check it end to end, sign up with your own address, click the link, then try the same link again (it should be refused). Our guide to testing your emails before users see them has a fuller checklist.

Sample email

Keep the verification email short and focused on one action. Supabase's own guidance for sign-in emails suggests few links, no promotional content and no names or other details the person typed in.

Sample email

Save the friendly introduction to your product for the welcome email you send once they've verified.

How should you handle unverified users?

You have two main choices: block unverified people from signing in, or let them in with limited access. Either way, give them a clear way to finish verifying.

ApproachHow it worksSuits
Block until verifiedPeople can't sign in until they click the link.Tools holding sensitive data, or that send email to other people on the user's behalf.
Limited accessPeople can sign in and look around, but key actions stay locked.Most SaaS products, since people can start exploring straight away.

Whichever you pick, build these in:

  • A resend button, limited to one email every minute or so, so nobody can flood an inbox.
  • A way to fix a typo: let people change their address and send a fresh email.
  • A clean-up rule for accounts that never verify, for example removing them after 30 days.
Tell Claude Code

For people who haven't verified yet, add a "Resend verification email" button limited to one every minute, and let them correct their email address if they typed it wrong. If a link has expired, explain that and offer a new one. Remove accounts that are still unverified after 30 days. Send the welcome email once they've verified, not at sign-up.

If someone says their email never arrived, ask Claude Code. With SimpleSends connected, it can read your send logs and delivery status and tell you whether the email went out. Our guide to checking whether your emails actually sent covers the usual causes.

Verification is one of several emails most SaaS products need. See the full list in 12 transactional emails every SaaS needs, and if you're considering passwordless sign-in, read about magic link login.

Frequently asked questions

What’s the difference between email validation and email verification?

Validation checks that an address is written in a sensible format, such as having an @ and a domain. Verification proves the person signing up can open emails sent to that address. A form can do validation on the spot, but verification needs an email with a link or code. Most SaaS products do both: a light format check on the form, then a verification email.

Can I verify an email address without sending an email?

Not in the sense that matters for sign-ups. Lookup tools can tell you an address looks real or that its domain accepts mail, but they can’t prove the person typing it owns it. Only a link or code that reaches their inbox shows that. Format checks are still useful for catching obvious typos before you send anything.

Why isn’t my verification email arriving?

Common causes are a typo in the address, the email landing in a spam or promotions folder, the sign-up trigger not firing, or your sign-in tool still using its built-in test email service. With SimpleSends connected, you can ask Claude Code whether the email went out and what happened to it, since it can read your send logs and delivery status.

Do I need email verification if I use magic link login?

Signing in with a magic link already proves the person can open emails sent to that address, because they can’t get in without clicking the link. Many products treat the first successful magic link sign-in as verifying the address. Ask Claude Code to mark accounts as verified at that point so the rest of your product can rely on it.

What happens if someone signs up with an email address that isn’t theirs?

The real owner receives the verification email and can ignore it, so the account never gets verified. That’s why the sample email includes a line saying what to do if you didn’t sign up. Decide how long unverified accounts stay around, and ask Claude Code to remove old ones so the address is free if its owner signs up later.

Sources (6)