Supabase CLI

Customizing email templates

Customizing local email templates using config.toml.

You can customize the email templates for local development using the config.toml settings.

Configuring templates

You should provide a relative URL to the content_path parameter, pointing to an HTML file which contains the template. For example

supabase/config.toml
supabase/templates/invite.html
[auth.email.template.invite]
subject = "You are invited to Acme Inc"
content_path = "./supabase/templates/invite.html"

Available email templates

There are several Auth email templates which can be configured:

  • auth.email.template.invite
  • auth.email.template.confirmation
  • auth.email.template.recovery
  • auth.email.template.magic_link
  • auth.email.template.email_change

Template variables

The templating system provides the following variables for use:

ConfirmationURL

Contains the confirmation URL. For example, a signup confirmation URL would look like:

https://project-ref.supabase.co/auth/v1/verify?token={{ .TokenHash }}&type=signup&redirect_to=https://example.com/path

Usage

<p>Click here to confirm: {{ .ConfirmationURL }}</p>

Token

Contains a 6-digit One-Time-Password (OTP) that can be used instead of the ConfirmationURL.

Usage

<p>Here is your one time password: {{ .Token }}</p>

TokenHash

Contains a hashed version of the Token. This is useful for constructing your own email link in the email template.

Usage

<p>Follow this link to confirm your user:</p>
<p>
<a href="{{ .SiteURL }}/auth/confirm?token_hash={{ .TokenHash }}&type=email"
>Confirm your email</a
>
</p>

SiteURL

Contains your application's Site URL. This can be configured in your project's authentication settings.

Usage

<p>Visit <a href="{{ .SiteURL }}">here</a> to log in.</p>

Email

Contains the user's email address.

Usage

<p>A recovery request was sent to {{ .Email }}.</p>

NewEmail

Contains the new user's email address. This is only available in the email_change email template.

Usage

<p>You are requesting to update your email address to {{ .NewEmail }}.</p>

Deploying email templates

These settings are for local development. To apply the changes locally, stop and restart the Supabase containers:

supabase stop && supabase start

For hosted projects managed by Supabase, copy the templates into the Email Templates section of the Dashboard.

We only collect analytics essential to ensuring smooth operation of our services. Learn more