Security Password Reset email template
A password reset email with a black button, an expiry note, a link to paste, and a panel showing when, from where and on which device the request came.
Light shows the email as designed. Dark and Gmail show how email apps can change its colors.
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="x-apple-disable-message-reformatting">
<meta name="format-detection" content="telephone=no, date=no, address=no, email=no, url=no">
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<title>Security Password Reset</title>
<!--[if gte mso 9]><xml><o:OfficeDocumentSettings><o:AllowPNG/><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml><![endif]-->
<style>
:root{color-scheme:light dark;supported-color-schemes:light dark;}
body{margin:0;padding:0;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
table,td{mso-table-lspace:0pt;mso-table-rspace:0pt;border-collapse:collapse;}
img{border:0;outline:none;text-decoration:none;-ms-interpolation-mode:bicubic;}
a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;font-size:inherit!important;font-family:inherit!important;font-weight:inherit!important;line-height:inherit!important;}
u + .ete-body a{color:inherit;text-decoration:none;}
@media only screen and (max-width:620px){
.ete-container{width:100%!important;max-width:100%!important;}
.ete-outer{padding:0!important;}
.ete-content{border-radius:0!important;}
.ete-px{padding-left:20px!important;padding-right:20px!important;}
.ete-stack{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;padding-left:0!important;padding-right:0!important;}
.ete-stack-gap{padding-bottom:20px!important;}
.ete-fluid{width:100%!important;max-width:100%!important;height:auto!important;}
.ete-fluid-cap{width:100%!important;max-width:280px!important;height:auto!important;display:block!important;margin-left:auto!important;margin-right:auto!important;}
.ete-stack-center,.ete-stack-center p{text-align:center!important;}
.ete-h1{font-size:28px!important;line-height:34px!important;}
.ete-h2{font-size:22px!important;line-height:28px!important;}
.ete-code{font-size:24px!important;letter-spacing:2px!important;}
.ete-btn-full{display:block!important;width:100%!important;box-sizing:border-box;}
.ete-ds-26{font-size:28px!important;line-height:31px!important;}
.ete-ds-20{font-size:28px!important;line-height:31px!important;}
}
@media (prefers-color-scheme: dark){
.ete-body,.ete-bg{background-color:#0d0d0d!important;}
.ete-content{background-color:#161616!important;}
.ete-text{color:#cdcdcd!important;}
.ete-heading{color:#ffffff!important;}
.ete-muted{color:#9e9e9e!important;}
.ete-link{color:#ffffff!important;}
.ete-border{border-color:#2f2f2f!important;}
.ete-panel{background-color:#1e1e1e!important;border-color:#2f2f2f!important;}
.ete-btn{background-color:#ffffff!important;border-color:#ffffff!important;}
.ete-btn-text{color:#111111!important;}
.ete-btn-outline{border-color:#ffffff!important;}
.ete-btn-outline-text{color:#ffffff!important;}
.ete-logo-light{display:none!important;}
.ete-logo-dark{display:block!important;max-height:none!important;overflow:visible!important;}
}
[data-ogsc] .ete-text{color:#cdcdcd!important;}
[data-ogsc] .ete-heading{color:#ffffff!important;}
[data-ogsc] .ete-muted{color:#9e9e9e!important;}
[data-ogsc] .ete-link{color:#ffffff!important;}
[data-ogsb] .ete-body,[data-ogsb] .ete-bg{background-color:#0d0d0d!important;}
[data-ogsb] .ete-content{background-color:#161616!important;}
[data-ogsb] .ete-panel{background-color:#1e1e1e!important;border-color:#2f2f2f!important;}
</style>
</head>
<body class="ete-body" style="margin:0;padding:0;width:100%;background-color:#f3f3f3;">
<!-- Made with emailtemplateexamples.com -->
<div class="ete-preheader" style="display:none;font-size:1px;line-height:1px;max-height:0;max-width:0;opacity:0;overflow:hidden;mso-hide:all;">Someone asked to reset your Plinth password. The link inside works for one hour. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ </div>
<table role="presentation" class="ete-bg" width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;background-color:#f3f3f3;">
<tr><td align="center" class="ete-outer" style="padding:24px 12px;">
<!--[if mso]><table role="presentation" width="600" align="center" cellpadding="0" cellspacing="0" border="0"><tr><td><![endif]-->
<table role="presentation" class="ete-container" width="600" cellpadding="0" cellspacing="0" border="0" style="width:100%;max-width:600px;margin:0 auto;">
<tr><td class="ete-content" style="background-color:#ffffff;border-radius:4px;overflow:hidden;">
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;">
<tr><td align="left" class="ete-px" style="padding:28px 32px 20px;"><a href="https://example.com/" style="text-decoration:none;color:#111111;"><span class="ete-heading" style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:19px;font-weight:700;letter-spacing:2px;color:#111111;">PLINTH</span></a></td></tr>
<tr><td class="ete-px" style="padding:24px 32px 8px;"><h1 class="ete-heading ete-ds-26" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:26px;line-height:31px;font-weight:700;color:#111111;text-align:left;mso-line-height-rule:exactly;">Reset your password</h1></td></tr>
<tr><td class="ete-px" style="padding:8px 32px;"><p class="ete-text" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:15px;line-height:24px;color:#404040;text-align:left;">Someone, hopefully you, asked to reset the password for the Plinth account linked to this email address. Use the button below to choose a new one.</p></td></tr>
<tr><td align="left" class="ete-px" style="padding:16px 32px;"><table role="presentation" cellpadding="0" cellspacing="0" border="0"><tr><td align="center"><!--[if mso]><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://example.com/reset" style="height:48px;v-text-anchor:middle;width:190px;" arcsize="8%" strokecolor="#111111" fillcolor="#111111"><w:anchorlock/><center style="color:#ffffff;font-family:Arial,sans-serif;font-size:16px;font-weight:bold;">Reset password</center></v:roundrect><![endif]--><!--[if !mso]><!--><a class="ete-btn" href="https://example.com/reset" style="display:inline-block;background-color:#111111;border:1px solid #111111;line-height:48px;border-radius:4px;color:#ffffff;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:16px;font-weight:700;text-align:center;text-decoration:none;padding:0 28px;-webkit-text-size-adjust:none;mso-hide:all;"><span class="ete-btn-text" style="color:#ffffff;">Reset password</span></a><!--<![endif]--></td></tr></table></td></tr>
<tr><td class="ete-px" style="padding:8px 32px;"><p class="ete-muted" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:21px;color:#7a7a7a;text-align:left;">This link expires in <b>1 hour</b>. If it expires, you can <a class="ete-link" style="color:#111111;text-decoration:underline;" href="https://example.com/reset/new">request a new one</a>.</p></td></tr>
<tr><td class="ete-px" style="padding:8px 32px;"><p class="ete-muted" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:21px;color:#7a7a7a;text-align:left;">Or paste this link into your browser:<br>
https://example.com/reset/7f3c2e9a</p></td></tr>
<tr><td class="ete-px" style="padding:16px 32px;"><table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="ete-border" style="border-top:1px solid #e5e5e5;font-size:0;line-height:0;"> </td></tr></table></td></tr>
<tr><td class="ete-px" style="padding:24px 32px 8px;"><h3 class="ete-heading ete-ds-20" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:20px;line-height:24px;font-weight:700;color:#111111;text-align:left;mso-line-height-rule:exactly;">Didn't ask for this?</h3></td></tr>
<tr><td class="ete-px" style="padding:8px 32px;"><p class="ete-text" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:22px;color:#404040;text-align:left;">You can ignore this email and your password stays the same. For your records, here is where the request came from:</p></td></tr>
<tr><td class="ete-px" style="padding:16px 32px;"><table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td class="ete-panel" style="padding:24px;background-color:#fafafa;border:1px solid #e5e5e5;border-radius:4px;"><table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top:8px;"><tr><td class="ete-muted" width="90" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:12px;line-height:22px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7a7a7a;">When</td><td class="ete-text" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:16px;line-height:22px;color:#404040;">October 28, 2026 at 14:28 UTC</td></tr><tr><td class="ete-muted" width="90" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:12px;line-height:22px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7a7a7a;">From</td><td class="ete-text" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:16px;line-height:22px;color:#404040;">198.51.100.42, Lisbon, Portugal</td></tr><tr><td class="ete-muted" width="90" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:12px;line-height:22px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#7a7a7a;">Device</td><td class="ete-text" valign="top" style="padding:8px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:16px;line-height:22px;color:#404040;">Web browser on a laptop</td></tr></table></td></tr></table></td></tr>
<tr><td class="ete-px" style="padding:8px 32px;"><p class="ete-text" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:14px;line-height:22px;color:#404040;text-align:left;">If you don't recognize this, <a class="ete-link" style="color:#111111;text-decoration:underline;" href="https://example.com/security">secure your account</a> and turn on two step sign in.</p></td></tr>
<tr><td align="left" class="ete-px" style="padding:28px 32px 32px;"><p class="ete-muted" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:21px;color:#7a7a7a;line-height:20px;text-align:left;"><strong>Plinth Inc</strong><br>548 Harbor Street, San Francisco, CA 94104</p><p class="ete-muted" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:21px;color:#7a7a7a;line-height:20px;text-align:left;padding-top:10px;">You get this because a password reset was asked for on your account. We send security emails whatever your marketing settings are.</p><p class="ete-muted" style="margin:0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;line-height:21px;color:#7a7a7a;line-height:20px;text-align:left;padding-top:10px;"><a class="ete-link" href="{{unsubscribe_url}}" style="color:#7a7a7a;text-decoration:underline;">Unsubscribe</a></p></td></tr>
</table>
</td></tr>
<tr><td align="center" class="ete-muted" style="padding:20px 12px 0;font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:12px;line-height:18px;color:#7a7a7a;">Made with <a class="ete-link" href="https://emailtemplateexamples.com/" style="color:#7a7a7a;text-decoration:underline;">Email Template Examples</a></td></tr>
</table>
<!--[if mso]></td></tr></table><![endif]-->
</td></tr>
</table>
</body>
</html>
Adapted from Colorlib Email Templates (template 23, password reset) by Colorlib, MIT license.
About this template
A password reset message for an app that takes account safety seriously. It answers the two questions people have when this email arrives: how do I reset, and was this really me?
The top is simple. A small spaced wordmark, a clear headline, two lines on why the email arrived and a black button to choose a new password. A small note says the link lasts one hour, with a link to ask for a new one, and the full reset link is printed for anyone whose button does not work.
After a thin line, a short section speaks to people who did not ask for the reset. It says nothing will change if they ignore it, then shows the request details in a neat panel: when it happened, where it came from and what kind of device was used. A last line points to securing the account and turning on two step sign in.
The layout follows a modern designer security template. Fill the panel with real request data, and keep the tone calm and plain.
Use it in your email tool
- Click Copy HTML, or download the .html file.
- In Mailchimp, Brevo, HubSpot or Klaviyo, start a new email with the custom HTML or code editor and paste it in.
- Change the text, links and images. Map merge tags such as {{first_name}} and {{unsubscribe_url}} to the tags of your tool.
- Send a test to yourself on desktop and phone before you send it to your list.
Sections in this email
- Wordmark
- Headline and reason
- Reset button
- Expiry note and paste link
- Did not ask section
- Request details panel
- Security footer
Subject line ideas
- Reset your Plinth password
- Your password reset link (valid for one hour)
- Did you ask to reset your password?
Preview text idea
Someone asked to reset your Plinth password. The link inside works for one hour.