Password Reset Email Templates You Can Copy

Five password reset email template examples to copy, what every reset email needs, and how to have Claude Code build and send yours from your SaaS.

Quick answer

A good password reset email template names your product in the subject, gives one clear reset button, says how long the link lasts, tells people what to do if they didn’t ask, and never includes a password. Below are five templates to copy: plain, friendly, security-focused, code-based and a “password changed” confirmation.

Last checked: October 2026

On this page
  1. Five password reset email templates you can copy
  2. What does every password reset email need?
  3. How do you customize a password reset email template?
  4. How to send password reset emails with Claude Code

Every SaaS with a login needs a password reset email. People read it closely: they're locked out and checking the message is real before they click.

Below are five password reset email templates you can copy, followed by what every reset email needs, how to adapt the wording, and how to have Claude Code build and send yours. For how the reset flow works inside your product, see our guide to setting up password reset emails for your SaaS.

Five password reset email templates you can copy

Swap the placeholders in square brackets for your own details, or hand a template to Claude Code to fill in. Change the expiry times to match your product.

1. Plain and clear

The best default for most SaaS products.

Sample email

2. Warm and friendly

For products with a relaxed, conversational voice.

Sample email

3. Security-focused

For products that handle money, health information or business data. It shows when and where the request came from, so people can spot one they didn't make.

Sample email

For reset screens where people type a short code, which helps when they read the email on a different device.

Sample email

Splitting the digits with a space makes the code easier to read and type, a tip from OWASP's forgot-password guidance.

5. "Your password was changed" confirmation

Send this right after someone finishes a reset. OWASP recommends it, and it lets anyone whose account was taken over act fast.

Sample email

What does every password reset email need?

A password reset email has one job: get the right person back in quickly, without helping anyone else.

What to includeWhy it matters
A subject line naming your productPeople can tell at a glance it's real
One clear button, plus the link as plain textA fallback if the button doesn't display
How long the link or code lastsAn expired link won't feel like a bug
A "didn't ask for this?" lineReassures anyone who got it by mistake
A way to get helpA reply address or support email
A sender on your own domainMatches your product (choosing your sending domain)

Never include the old password or a new one.

Some important parts sit in how your product handles the reset, not in the email. OWASP's guidance recommends that each reset link is random, works once and expires; the forgot-password page shows the same message whether or not an account exists; repeated requests are limited; and people log in normally afterward rather than being signed in automatically.

For expiry, NIST's digital identity guidelines cap recovery codes sent by email at 24 hours. A shorter window, like 60 minutes, limits how long an old or forwarded email stays useful. You don't need to build any of this yourself; include it in your brief to Claude Code.

How do you customize a password reset email template?

Start with the template closest to your product's voice, then adjust:

  • Name and sign-off: your product name and your usual sign-off.
  • Tone: match your welcome email. Our welcome email examples show a range of voices.
  • Expiry time: the number in the email must match what your product does.
  • Link or code: a link by default, a code if your reset screen asks for one.
  • Request details: use template 3 only if your product records time, device and location.
  • Design: your logo and brand color, with the button first. Send a plain-text version too, for inboxes that don't show styling.

How to send password reset emails with Claude Code

Your SaaS sends reset emails through a transactional email service, which delivers the one-to-one emails your product triggers. SimpleSends is one built for people who build with Claude Code but don't write code. Its sign-up and help are written in plain English, without developer jargon, and after sign-up you do everything by talking to Claude Code. It links to Claude Code through a connector, built on MCP, a shared standard for connecting AI tools to other services.

  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 (settings that say who can send email for your domain) where your domain is registered.

  2. In Claude Code, open Customize, then Connectors, choose Add, then Add custom connector. Fill in these details:

    FieldWhat to enter
    NameSimpleSends
    MCP server URLhttps://mcp.simplesends.com/mcp
  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.

Then brief Claude Code, pasting in your chosen template:

Tell Claude Code

I'd like password reset emails for my SaaS, using the template below in our brand colors. The link should work once and expire after 60 minutes. The forgot-password page should show the same message whether or not an account exists, and limit repeated requests. After a reset, send people to the login page and email them a short "password changed" confirmation. Show me previews of both emails first. Here's the template: [paste template]

Claude Code shows you previews, then builds the reset flow once you approve. Check the real thing too:

Tell Claude Code

Send me a test of both emails so I can check them on my phone.

Once your SaaS is live, reset emails go out from your project automatically, at any hour, without Claude Code open. If a user says one never arrived, ask Claude Code: it can read your SimpleSends send logs and delivery status and help work out what happened. See how to check whether your emails actually sent and our email testing checklist. Password reset is one of around a dozen emails most products need; see the full list in 12 transactional emails every SaaS needs.

Frequently asked questions

Can I send the new password in the email instead of a reset link?

No. Security guidance from OWASP says a password should never be sent by email, whether it’s the old one or a new one. Email can be forwarded, stored and read by others. Send a one-time link or code instead, and let the person choose their own new password on your site.

Should people be logged in automatically after they reset their password?

OWASP recommends against it. After someone sets a new password, send them to your normal login page and let them sign in with it. Signing them in automatically adds complexity to how your SaaS handles logins, and that makes security mistakes more likely.

What should the forgot password page say after someone requests a reset?

Show the same message whether or not the email address has an account, such as “If that address is registered, we’ve sent a reset link.” If the message differs, anyone can use your form to check who has signed up. OWASP lists this as a basic rule for reset forms.

Why didn’t my user get their password reset email?

Common causes are a typo in the address, the email landing in a spam or promotions folder, or the reset never being triggered. With SimpleSends connected, ask Claude Code to look into it. It can read your send logs and delivery status and tell you whether the email went out.

Should password reset emails come from a no-reply address?

You can, but a real reply address helps. Locked-out users may reply to the reset email when something goes wrong, and a no-reply address means those messages are lost. One option is to send from an address like hello@yourcompany.com and route replies to support.

Sources (3)