If your app has logins, it needs three short account emails: one that lets people reset a password, one that confirms a password was changed and one that warns a password is about to expire. Enter your app name and support address, pick the email and tone, and copy a subject line, a plain-text version and an HTML version with placeholders for your mail system.
A password email is read in a hurry, often by someone who is locked out and a little annoyed. Lead with the action, give one clear button and keep every other sentence short. The subject line should name your app and the task, so the message is easy to find when someone searches their inbox.
The reassurance line matters as much as the button. People who did not request a reset need to know they can ignore the email and that their password has not changed. People who did request it need to know how long they have and where to get help if the link fails.
A reset email is sent when someone asks for it, and contains a single-use link. A password-changed email is sent after any change, whoever made it, so the real owner can spot a change they did not make. An expiry notice only applies if your app forces periodic changes, and should say how many days remain.
Treat the changed email as a security signal. It should say what happened, offer a way to review account activity and give a support address. Do not include details that would help an attacker, such as the old password, the full account history or the device list.
Store each email as a template in your mail service, with the subject, the HTML and the text saved together. Pass in the user name and the one-time link as variables when you send. Keep the link generation on your server and never build it in the browser.
Test the unhappy paths as well: an unknown address, a link opened twice and a link opened after it expired. The email is only half of the feature, and a clear error page behind the link finishes the job.
They are slots such as {{user_name}} and {{reset_link}}. Most mail services and template engines can swap a value in for each recipient. Replace them with the exact variable names your system uses. The tool leaves them untouched so nothing is guessed.
You choose the time in the form, and the email states it. Short windows reduce the chance that a forgotten email can be used later. Whatever you write in the email must match the expiry your server checks, so set both together.
Some readers and filters do not display HTML. A plain-text part also helps messages look less like bulk mail. The tool writes both so you can paste each into the right field of your mail service.
It uses a single-column table layout and inline styles, which is the safest approach across mail apps. Email clients differ, so send a test to a few addresses before launch. Treat this as a clean starting point, not a guarantee of identical rendering everywhere.
The wording is a general starting point for ordinary account emails. If you handle sensitive data or operate under specific rules, have the final copy checked by someone qualified. Nothing here is legal or security advice.
Related: Email signature generator, Privacy policy generator, Email subject line tester.
Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.
We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.