Skip to content

Conversation

@hf
Copy link
Contributor

@hf hf commented Oct 14, 2024

Adds support for additional and configurable email message headers. Set the GOTRUE_SMTP_HEADERS value to a JSON object of the shape (TypeScript notation)

{ [header: string]: string[] }

Use the special string $messageType in the value portion to identify the message type being sent (for now: invite, confirm, reauthenticate, email_change, recovery, magiclink, other).

To use this with AWS SES Feedback-ID one way to do it would be to set SES SMTP message tags:

GOTRUE_SMTP_HEADERS={"x-ses-message-tags": ["ses:feedback-id-a=<project-ref>,ses:feedback-id-b=$messageType"]}

@hf hf requested a review from a team as a code owner October 14, 2024 17:59
@hf hf force-pushed the hf/mail-headers branch from 4859d56 to e73c0d5 Compare October 14, 2024 18:03
@hf hf changed the title feat: add mail header support via GOTRUE_SMTP_HEADERS with $messageType support feat: add mail header support via GOTRUE_SMTP_HEADERS with $messageType Oct 14, 2024
@coveralls
Copy link

Pull Request Test Coverage Report for Build 11332733424

Details

  • 44 of 55 (80.0%) changed or added relevant lines in 4 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.07%) to 57.225%

Changes Missing Coverage Covered Lines Changed/Added Lines %
internal/conf/configuration.go 16 18 88.89%
internal/mailer/template.go 27 30 90.0%
internal/mailer/mailme.go 0 6 0.0%
Totals Coverage Status
Change from base Build 11327229130: 0.07%
Covered Lines: 9544
Relevant Lines: 16678

💛 - Coveralls

Copy link
Contributor

@cstockton cstockton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@hf hf merged commit 99d6a13 into master Oct 14, 2024
3 checks passed
@hf hf deleted the hf/mail-headers branch October 14, 2024 20:33
cstockton pushed a commit that referenced this pull request Oct 15, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.163.0](v2.162.2...v2.163.0)
(2024-10-15)


### Features

* add mail header support via `GOTRUE_SMTP_HEADERS` with `$messageType`
([#1804](#1804))
([99d6a13](99d6a13))
* add MFA for WebAuthn
([#1775](#1775))
([8cc2f0e](8cc2f0e))
* configurable email and sms rate limiting
([#1800](#1800))
([5e94047](5e94047))
* mailer logging ([#1805](#1805))
([9354b83](9354b83))
* preserve rate limiters in memory across configuration reloads
([#1792](#1792))
([0a3968b](0a3968b))


### Bug Fixes

* add twilio verify support on mfa
([#1714](#1714))
([aeb5d8f](aeb5d8f))
* email header setting no longer misleading
([#1802](#1802))
([3af03be](3af03be))
* enforce authorized address checks on send email only
([#1806](#1806))
([c0c5b23](c0c5b23))
* fix `getExcludedColumns` slice allocation
([#1788](#1788))
([7f006b6](7f006b6))
* Fix reqPath for bypass check for verify EP
([#1789](#1789))
([646dc66](646dc66))
* inline mailme package for easy development
([#1803](#1803))
([fa6f729](fa6f729))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cemalkilic pushed a commit that referenced this pull request Aug 7, 2025
…eType` (#1804)

Adds support for additional and configurable email message headers. Set
the `GOTRUE_SMTP_HEADERS` value to a JSON object of the shape
(TypeScript notation)

```
{ [header: string]: string[] }
```

Use the special string `$messageType` in the value portion to identify
the message type being sent (for now: `invite`, `confirm`,
`reauthenticate`, `email_change`, `recovery`, `magiclink`, `other`).

To use this with [AWS SES
Feedback-ID](https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ses-custom-values-feedback-header/)
one way to do it would be to [set SES SMTP message
tags](https://docs.aws.amazon.com/ses/latest/dg/event-publishing-send-email.html#event-publishing-using-ses-headers):

```
GOTRUE_SMTP_HEADERS={"x-ses-message-tags": ["ses:feedback-id-a=<project-ref>,ses:feedback-id-b=$messageType"]}
```
cemalkilic pushed a commit that referenced this pull request Aug 7, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.163.0](v2.162.2...v2.163.0)
(2024-10-15)


### Features

* add mail header support via `GOTRUE_SMTP_HEADERS` with `$messageType`
([#1804](#1804))
([99d6a13](99d6a13))
* add MFA for WebAuthn
([#1775](#1775))
([8cc2f0e](8cc2f0e))
* configurable email and sms rate limiting
([#1800](#1800))
([5e94047](5e94047))
* mailer logging ([#1805](#1805))
([9354b83](9354b83))
* preserve rate limiters in memory across configuration reloads
([#1792](#1792))
([0a3968b](0a3968b))


### Bug Fixes

* add twilio verify support on mfa
([#1714](#1714))
([aeb5d8f](aeb5d8f))
* email header setting no longer misleading
([#1802](#1802))
([3af03be](3af03be))
* enforce authorized address checks on send email only
([#1806](#1806))
([c0c5b23](c0c5b23))
* fix `getExcludedColumns` slice allocation
([#1788](#1788))
([7f006b6](7f006b6))
* Fix reqPath for bypass check for verify EP
([#1789](#1789))
([646dc66](646dc66))
* inline mailme package for easy development
([#1803](#1803))
([fa6f729](fa6f729))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
xeladotbe pushed a commit to xeladotbe/supabase-auth that referenced this pull request Sep 27, 2025
…eType` (supabase#1804)

Adds support for additional and configurable email message headers. Set
the `GOTRUE_SMTP_HEADERS` value to a JSON object of the shape
(TypeScript notation)

```
{ [header: string]: string[] }
```

Use the special string `$messageType` in the value portion to identify
the message type being sent (for now: `invite`, `confirm`,
`reauthenticate`, `email_change`, `recovery`, `magiclink`, `other`).

To use this with [AWS SES
Feedback-ID](https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ses-custom-values-feedback-header/)
one way to do it would be to [set SES SMTP message
tags](https://docs.aws.amazon.com/ses/latest/dg/event-publishing-send-email.html#event-publishing-using-ses-headers):

```
GOTRUE_SMTP_HEADERS={"x-ses-message-tags": ["ses:feedback-id-a=<project-ref>,ses:feedback-id-b=$messageType"]}
```
xeladotbe pushed a commit to xeladotbe/supabase-auth that referenced this pull request Sep 27, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.163.0](supabase/auth@v2.162.2...v2.163.0)
(2024-10-15)


### Features

* add mail header support via `GOTRUE_SMTP_HEADERS` with `$messageType`
([supabase#1804](supabase#1804))
([99d6a13](supabase@99d6a13))
* add MFA for WebAuthn
([supabase#1775](supabase#1775))
([8cc2f0e](supabase@8cc2f0e))
* configurable email and sms rate limiting
([supabase#1800](supabase#1800))
([5e94047](supabase@5e94047))
* mailer logging ([supabase#1805](supabase#1805))
([9354b83](supabase@9354b83))
* preserve rate limiters in memory across configuration reloads
([supabase#1792](supabase#1792))
([0a3968b](supabase@0a3968b))


### Bug Fixes

* add twilio verify support on mfa
([supabase#1714](supabase#1714))
([aeb5d8f](supabase@aeb5d8f))
* email header setting no longer misleading
([supabase#1802](supabase#1802))
([3af03be](supabase@3af03be))
* enforce authorized address checks on send email only
([supabase#1806](supabase#1806))
([c0c5b23](supabase@c0c5b23))
* fix `getExcludedColumns` slice allocation
([supabase#1788](supabase#1788))
([7f006b6](supabase@7f006b6))
* Fix reqPath for bypass check for verify EP
([supabase#1789](supabase#1789))
([646dc66](supabase@646dc66))
* inline mailme package for easy development
([supabase#1803](supabase#1803))
([fa6f729](supabase@fa6f729))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
issuedat pushed a commit that referenced this pull request Sep 30, 2025
…eType` (#1804)

Adds support for additional and configurable email message headers. Set
the `GOTRUE_SMTP_HEADERS` value to a JSON object of the shape
(TypeScript notation)

```
{ [header: string]: string[] }
```

Use the special string `$messageType` in the value portion to identify
the message type being sent (for now: `invite`, `confirm`,
`reauthenticate`, `email_change`, `recovery`, `magiclink`, `other`).

To use this with [AWS SES
Feedback-ID](https://aws.amazon.com/about-aws/whats-new/2024/06/amazon-ses-custom-values-feedback-header/)
one way to do it would be to [set SES SMTP message
tags](https://docs.aws.amazon.com/ses/latest/dg/event-publishing-send-email.html#event-publishing-using-ses-headers):

```
GOTRUE_SMTP_HEADERS={"x-ses-message-tags": ["ses:feedback-id-a=<project-ref>,ses:feedback-id-b=$messageType"]}
```
issuedat pushed a commit that referenced this pull request Sep 30, 2025
🤖 I have created a release *beep* *boop*
---


##
[2.163.0](v2.162.2...v2.163.0)
(2024-10-15)


### Features

* add mail header support via `GOTRUE_SMTP_HEADERS` with `$messageType`
([#1804](#1804))
([99d6a13](99d6a13))
* add MFA for WebAuthn
([#1775](#1775))
([8cc2f0e](8cc2f0e))
* configurable email and sms rate limiting
([#1800](#1800))
([5e94047](5e94047))
* mailer logging ([#1805](#1805))
([9354b83](9354b83))
* preserve rate limiters in memory across configuration reloads
([#1792](#1792))
([0a3968b](0a3968b))


### Bug Fixes

* add twilio verify support on mfa
([#1714](#1714))
([aeb5d8f](aeb5d8f))
* email header setting no longer misleading
([#1802](#1802))
([3af03be](3af03be))
* enforce authorized address checks on send email only
([#1806](#1806))
([c0c5b23](c0c5b23))
* fix `getExcludedColumns` slice allocation
([#1788](#1788))
([7f006b6](7f006b6))
* Fix reqPath for bypass check for verify EP
([#1789](#1789))
([646dc66](646dc66))
* inline mailme package for easy development
([#1803](#1803))
([fa6f729](fa6f729))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants