Skip to content

Start your next project with a prompt. → netlify.new 🚀

Identity-generated emails

Some Netlify Identity actions, like inviting an Identity user or resetting a password, will trigger an email to the user. You can customize the email sender address, as well as the templates used.

This feature is available on Pro plans or higher. For inquiries on access for legacy plans, please contact support.

By default, all Identity-generated emails are sent from no-reply@netlify.com. If you’d like these emails sent from your own custom address, you can connect a third-party email provider that supports SMTP.

Refer to your email provider’s documentation to find the proper values for your SMTP server hostname, port, username, and password. Then enter these values into the fields under Project configuration Identity Emails Outgoing email address.

All Identity-generated emails have basic templates built in. You may customize the emails.

The default templates use {{ .ConfirmationURL }}, which links back to your project with a hash fragment token (for example, #confirmation_token=...). Your project must handle these tokens to complete the action. If you use @netlify/identity, call handleAuthCallback() on your landing page to process these tokens automatically. It handles all token types: confirmation, invite, recovery, and email change.

Default email templates are as follows:

<h2>You have been invited</h2>
<p>
You have been invited to create a user on {{ .SiteURL }}. Follow
this link to accept the invite:
</p>
<p><a href="{{ .ConfirmationURL }}">Accept the invite</a></p>
<h2>Confirm your signup</h2>
<p>Follow this link to confirm your user:</p>
<p><a href="{{ .ConfirmationURL }}">Confirm your mail</a></p>
<h2>Reset Password</h2>
<p>Follow this link to reset the password for your user:</p>
<p><a href="{{ .ConfirmationURL }}">Reset Password</a></p>
<h2>Confirm Change of Email</h2>
<p>
Follow this link to confirm the update of your email from
{{ .Email }} to {{ .NewEmail }}:
</p>
<p><a href="{{ .ConfirmationURL }}">Change Email</a></p>

This feature is available on Pro plans or higher. For inquiries on access for legacy plans, please contact support.

You can customize the Identity-generated emails by creating new templates and publishing them to a path on your deployed project, then specifying the path to the template file (relative to the project domain, starting with a /) in Project configuration Identity Emails.

When writing a template, you may use any email-ready HTML. CSS must be included inline, and images must use absolute links. Don’t include <html>, <head>, or <body> tags in the template.

You may include certain variables using Go template syntax, like {{ .SiteURL }}. The variable syntax must remain intact in the template output, so you should ensure that your project’s build process doesn’t update variables in template files. The following variables are available:

  • {{ .Email }}: user’s current registered email address
  • {{ .NewEmail }} (email change template only): new email address the Identity user would like to use in place of the current address
  • {{ .SiteURL }}: URL of your project
  • {{ .ConfirmationURL }}: project URL with corresponding email action parameters appended
  • {{ .Token }}: The token needed to confirm the action.

The {{ .ConfirmationURL }} variable links to your project with a hash fragment token. Your project must handle these tokens to complete the action. If you use @netlify/identity, handleAuthCallback() processes all token types automatically. If you use custom templates, you can customize the path the emails link to so that visitors are sent to a page that handles the token.

You can use the following patterns for custom links:

# Invitation:
{{ .SiteURL }}/some/path/#invite_token={{ .Token }}
# Confirmation:
{{ .SiteURL }}/some/path/#confirmation_token={{ .Token }}
# Password recovery:
{{ .SiteURL }}/some/path/#recovery_token={{ .Token }}
# Email change:
{{ .SiteURL }}/some/path/#email_change_token={{ .Token }}

You may change the email subject line directly in the settings UI.