Interface: EmailSender
Defined in: server/insights/scheduling/email-sender.ts:17
The email-delivery PORT for scheduled reports. Taproot renders the report and
hands this a finished message; the consumer implements send over their own
transport (SES, nodemailer/SMTP, Resend, Postmark, …). This mirrors the
library's other outbound side-effects — the forms FileStore and the auth
sendXEmail callbacks — none of which taproot fulfils itself. Keeping it a
port is why the scheduling module pulls in no mail dependency.
send MUST reject if delivery fails, so the worker records a failed run and
BullMQ's retry/backoff re-attempts. A resolved promise is taken as
"handed off to the transport" — at-least-once, not exactly-once.
Recipients are always carried in bcc, preventing address disclosure while
preserving one transport handoff (and therefore one retry boundary).
Methods
send()
send(message: ReportEmailMessage): Promise<void>;Defined in: server/insights/scheduling/email-sender.ts:18
Parameters
| Parameter | Type |
|---|---|
message | ReportEmailMessage |
Returns
Promise<void>