Supabase-apps hebben drie soorten e-mail nodig: auth, productevents en lifecyclecampagnes. Vergelijk per taak wat Resend, Loops, Sequenzy en Brew bieden.

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.
auth.users en genereert het events zoals auth.user.email_confirmed. Sequenzy synchroniseert rijen uit een tabel die je zelf kiest.| 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.
De SMTP-gids 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.
De Supabase-gids 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 documenteert twee routes voor 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 kan e-mails van Supabase Auth routeren 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.
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.
De Supabase-integratie 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_confirmedauth.user.email_changed en auth.user.password_changedauth.user.signed_inauth.user.banned en auth.user.unbannedauth.user.invitedauth.user.upgraded_from_anonymousGebruikers 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 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 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 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.
Brew genereert e-mails op basis van de 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.
Dit is één mogelijke verdeling. We hebben die niet van begin tot eind getest.
auth.example.com.auth.users. Een welkomstautomatisering start bij auth.user.email_confirmed.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.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.
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.
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.
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.
Wil je zien welke events er vanuit je project binnenkomen? Koppel Supabase in Brew, voeg een testgebruiker toe en houd het paneel Recente events in de gaten voordat je een flow publiceert.
