Skip to content

EmailProvider

EmailProvider = object

Defined in: packages/email/src/types.ts:46

A pluggable email delivery backend.

Implement this interface to add support for a new email service. The provider receives a fully rendered EmailMessage and is responsible for delivering it via the service’s HTTP API.

import type { EmailProvider, EmailMessage } from "@cfast/email";
const myProvider: EmailProvider = {
name: "my-provider",
async send(message: EmailMessage) {
const res = await fetch("https://api.example.com/send", {
method: "POST",
body: JSON.stringify(message),
});
const data = await res.json() as { id: string };
return { id: data.id };
},
};

name: string

Defined in: packages/email/src/types.ts:48

Unique name identifying the provider (e.g. "mailgun", "console").


send: (message) => Promise<{ id: string; }>

Defined in: packages/email/src/types.ts:50

Deliver a rendered email message. Returns a provider-specific message ID.

EmailMessage

Promise<{ id: string; }>