# De beste e-mailtools voor Supabase: auth, productevents en lifecycle

Canonieke URL: https://brew.new/nl/blog/best-email-tools-for-supabase-auth-emails-product-events-and-lifecycle-campaigns
Auteur: Thomas Park
Gepubliceerd: 2026-09-19
Bijgewerkt: 2026-09-29

Brew publiceert deze vergelijking. Op 28 september 2026 hebben we de gelinkte productdocumentatie bekeken. Dit is een vergelijking op basis van documentatie, geen bewering dat we elk platform in de praktijk hebben getest. Controleer de actuele limieten van de abonnementen op de prijspagina van de leverancier.

Je lanceert je Supabase-app en de eerste gebruikers van buiten je team melden zich aan. Hun bevestigingsmails gaan nog via de standaardafzender. Die bezorgt alleen op vooraf geautoriseerde adressen, dus niemand van hen krijgt er een. De welkomstmail die je had gepland, staat nog als notitie in je takenlijst.

Een Supabase-app verstuurt e-mail om drie verschillende redenen. Auth-e-mails zijn onder meer de bevestiging van een aanmelding, magic links en wachtwoordresets. E-mails bij productevents gaan uit als er iets in de database gebeurt. Lifecyclecampagnes dekken onboarding, duwtjes en terugwinacties. Eén tool kan meer dan één van deze taken afdekken, maar Supabase raadt aan auth-mail en marketingmail gescheiden te houden.

Deze gids deelt Resend, Loops, Sequenzy en Brew in op basis van welke van deze taken elk van hen documenteert.

## De belangrijkste punten

- De ingebouwde e-mailservice van Supabase is bedoeld om te testen. Die verstuurt alleen naar vooraf geautoriseerde adressen, met een lage rate limit. Voor auth-e-mail in productie heb je een eigen SMTP-server nodig.
- Voor auth-e-mail documenteren Resend, Loops en Sequenzy elk een SMTP-configuratie voor Supabase. Brew documenteert er geen.
- Voor productevents en lifecyclemail luistert Brew naar wijzigingen in `auth.users` en genereert het events zoals `auth.user.email_confirmed`. Sequenzy synchroniseert rijen uit een tabel die je zelf kiest.
- Supabase raadt aparte services en domeinen aan voor auth-mail en marketingmail.

## Drie taken, drie soorten tools

| Taak | Wat ervoor nodig is | Tools die het documenteren |
| --- | --- | --- |
| Auth-e-mails | Een SMTP-server of auth-hook die Supabase Auth aanroept | Resend, Loops, Sequenzy |
| Productevents | Databasewijzigingen die worden omgezet in triggers | Brew (`auth.users`), Sequenzy (één tabel naar keuze), Loops (contactsynchronisatie) |
| Lifecyclecampagnes | Reeksen, ontworpen e-mails, doelgroepen | Brew, Loops, Sequenzy |

We hebben de documentatie van elke leverancier op 28 september 2026 gecontroleerd.

## Auth-e-mails: stap eerst af van de standaardafzender

De [SMTP-gids](https://supabase.com/docs/guides/auth/auth-smtp) van Supabase noemt de beperkingen van de ingebouwde service. Die verstuurt alleen naar vooraf geautoriseerde adressen. De rate limit is laag, 2 berichten per uur, en kan zonder aankondiging veranderen. Er is geen SLA voor de bezorging. Supabase vraagt je een eigen SMTP-server in te stellen voor alles wat verder gaat dan testen en demo’s.

Op dezelfde pagina staat dat je auth-mail en marketingmail niet moet mengen. Gebruik aparte services, of in elk geval aparte verzenddomeinen zoals `auth.example.com` en `marketing.example.com`, en houd promotionele inhoud uit auth-berichten.

### Resend

De [Supabase-gids](https://resend.com/docs/send-with-supabase-smtp) van Resend is een korte SMTP-configuratie. Je gebruikt host `smtp.resend.com`, poort `465`, gebruikersnaam `resend` en je API-sleutel als wachtwoord, en vult die in onder Authentication in Supabase. Je hebt een geverifieerd domein in Resend nodig. Vanaf dat moment verstuurt Supabase Auth via Resend.

### Loops

Loops documenteert [twee routes voor Supabase](https://loops.so/docs/integrations/supabase). Een Auth Hook stuurt elke e-mail van Supabase Auth via Loops, en SMTP is beschikbaar als alternatief. Een aparte contactsynchronisatie brengt Supabase-gebruikers naar je doelgroep in Loops.

### Sequenzy

Sequenzy kan [e-mails van Supabase Auth routeren](https://docs.sequenzy.com/integrations/supabase) via zijn eigen SMTP-service. Het richt standaard transactionele sjablonen in voor wachtwoordresets, magic links, uitnodigingen en beveiligingsmeldingen, maar je kunt de SMTP-gegevens ook handmatig invullen.

### Brew

De Supabase-integratie van Brew verstuurt geen e-mails van Supabase Auth, en Brew documenteert geen SMTP-relay. Laat verificatiemails, magic links en resetmails via een SMTP-provider lopen. Met de API van Brew kun je transactionele e-mail versturen die je app triggert, zoals een betaalbewijs. Voor de eigen berichten van Supabase Auth heb je nog steeds SMTP of een auth-hook nodig.

## Productevents: welke databasewijzigingen een flow kunnen starten

### Brew

De [Supabase-integratie](https://docs.brew.new/integrations/import/supabase) van Brew draait een setupscript dat een databasetrigger op `auth.users` installeert. Die trigger ondertekent elke wijziging met `pgcrypto`, stuurt die met `pg_net` naar een unieke webhook van Brew en bewaart het gedeelde geheim in Supabase Vault. Brew ontvangt drie ruwe events: `auth.user.created`, `auth.user.updated` en `auth.user.deleted`. Daarnaast leidt Brew er negen af uit wijzigingen in kolommen:

- `auth.user.email_confirmed` en `auth.user.phone_confirmed`
- `auth.user.email_changed` en `auth.user.password_changed`
- `auth.user.signed_in`
- `auth.user.banned` en `auth.user.unbanned`
- `auth.user.invited`
- `auth.user.upgraded_from_anonymous`

Gebruikers worden als contacten gesynchroniseerd, met `supabase_*`-velden zoals accountstatus, tijdstip van de e-mailverificatie en laatste inlog. De documentatie van Brew merkt op dat het vernieuwen van een token ook `last_sign_in_at` bijwerkt, dus `auth.user.signed_in` is op zichzelf geen betrouwbaar signaal dat iemand “terug is”.

Voor events buiten `auth.users`, zoals `project_created` of `invite_sent`, maak je een aangepaste trigger in Brew aan en activeer je die vanuit een Supabase Edge Function. De [Lovable-gids](https://docs.brew.new/integrations/ai-tools/lovable) van Brew laat dat patroon zien. De functie leest `BREW_API_KEY` uit de secrets van Supabase en roept `POST /v1/automations/triggers/{triggerEventId}/fire` aan.

### Sequenzy

Sequenzy koppelt met Supabase via OAuth en volgt één tabel die je zelf kiest, meestal `public.profiles`, met een `pg_net`-trigger. Het herkent automatisch de kolommen voor e-mail, gebruikers-ID en naam, en synchroniseert andere kolommen voor segmentatie. Een nieuwe rij genereert `contact.subscribed`. Een gewijzigde rij ververst de attributen zonder event, en een verwijderde rij genereert `contact.unsubscribed`. Per integratie gebruikt maar één tabel automatische webhooks.

### Loops

Loops synchroniseert Supabase-gebruikers naar je doelgroep en kan op basis van die data workflows starten. De contactsynchronisatie stel je apart in van de route voor auth-e-mail.

## Lifecyclecampagnes

Brew genereert e-mails op basis van de [email-design.md](/nl/blog/email-design-md) van je merk, bouwt automatiseringen op basis van een prompt en verstuurt vanaf je geverifieerde domein. Een welkomstflow kan starten bij `auth.user.email_confirmed`, zodat de eerste e-mail alleen mensen bereikt die hun adres hebben geverifieerd. Brew heeft geen sms-kanaal en verwerkt geen e-mail van Supabase Auth.

Loops en Sequenzy dekken zowel lifecyclecampagnes als auth-e-mail, dus één leverancier kan beide afhandelen. Kies je daarvoor, gebruik dan toch aparte verzenddomeinen voor auth en marketing, zoals Supabase aanraadt.

## Voorbeeldopzet voor een kleine Supabase-app

Dit is één mogelijke verdeling. We hebben die niet van begin tot eind getest.

1. Supabase Auth verstuurt bevestigingen, magic links en resets via een eigen SMTP-server (Resend, Loops of Sequenzy) op `auth.example.com`.
2. De Supabase-integratie van Brew luistert naar `auth.users`. Een welkomstautomatisering start bij `auth.user.email_confirmed`.
3. Je applicatie plant een controle voor een herinnering in. Op het geplande moment leest die de actuele projectstatus van de gebruiker en verstuurt alleen een apart event `project_reminder_eligible` naar Brew als de gebruiker nog steeds geen project heeft. Een gepubliceerde automatisering verstuurt het duwtje op basis van dat event. Je kunt ook een booleaans contactveld `has_project` in Brew definiëren en synchroniseren, en na een wachtstap controleren op `contact.has_project equals false`. Die voorwaarde leest het actuele contactveld in Brew; de payload van het oorspronkelijke event blijft ongewijzigd.
4. Lifecyclemail gaat uit vanaf een marketingdomein met afmeldheaders.

## Veelgestelde vragen

### Kan ik de ingebouwde e-mail van Supabase in productie gebruiken?

Volgens Supabase niet. De standaardservice verstuurt alleen naar vooraf geautoriseerde adressen, in een laag tempo, en heeft geen SLA. Stel een eigen SMTP-server in.

### Vervangt Brew de verificatie- of wachtwoordresetmails van Supabase?

Nee. De Supabase-integratie van Brew start automatiseringen op basis van wijzigingen in `auth.users`. Voor verificatie- en resetmails heb je een SMTP-provider of een auth-hook nodig.

### Waarom wachten op `email_confirmed` voordat je een welkomstmail stuurt?

Dan komt de welkomstmail alleen aan op adressen die werken, en arriveert die na de verificatiemail in plaats van tegelijk.

### Hebben gesynchroniseerde Supabase-gebruikers toestemming gegeven voor marketing?

Niet automatisch. Volgens de documentatie van Brew moet elke ontvanger van marketingmail vóór de import toestemming hebben gegeven. Leg de toestemming vast bij de aanmelding en filter daarop.

## Volgende stap

Wil je zien welke events er vanuit je project binnenkomen? [Koppel Supabase in Brew](/nl/browse/integrations/supabase), voeg een testgebruiker toe en houd het paneel Recente events in de gaten voordat je een flow publiceert.
