Transaktionale E-Mails über Resend, mit typisierten React-Vorlagen und einer robusten Sende-Warteschlange.
Was du bekommst
sendEmail: eine Vorlage rendern und sofort sendenenqueueEmail+flushEmailQueue, E-Mails in D1 speichern und aus einem geplanten Worker senden, mit Wiederholungen pro Zeile, damit ein schlechter Empfänger keinen Batch scheitern lässt- React-E-Mail-Vorlagen in
packages/transactional, während der Entwicklung als Vorschau anzeigbar
Mail senden
ts
Die Warteschlange
Alles Nicht-Dringende reihst du ein, statt inline zu senden. Das Rendern passiert beim Einreihen, daher hält die Warteschlange nur fertiges HTML. Ein per Cron ausgelöstes flushEmailQueue leert sie in Batches, markiert jede Zeile als gesendet oder notiert den Fehler und erhöht den Versuchszähler.
Hinweis
Ohne
RESEND_API_KEY loggen sowohl sendEmail als auch das Leeren der Warteschlange eine Warnung und überspringen den Versand. So funktionieren Abläufe wie die Auth-Verifizierung lokal, bevor du E-Mail eingerichtet hast.Einrichtung
bash
Vorlagen während der Entwicklung als Vorschau anzeigen:
bash