basalt / mailer/src / Mailer
Class: Mailer
Defined in: mailer/src/index.ts:65
Constructors
Constructor
> new Mailer(driver, options?): Mailer
Defined in: mailer/src/index.ts:69
Parameters
driver
options?
MailerOptions = {}
Returns
Mailer
Methods
deliver()
> deliver(message): Promise<void>
Defined in: mailer/src/index.ts:98
Sends a resolved message directly through the driver — used by queue workers.
Parameters
message
Returns
Promise<void>
resolve()
> resolve<T>(mail, data, envelope): ResolvedMail
Defined in: mailer/src/index.ts:106
Renders a mail without sending — used by tests and the future preview server.
Type Parameters
T
T
Parameters
mail
MailDefinition<T>
data
T
envelope
Returns
send()
> send<T>(mail, ...rest): Promise<void>
Defined in: mailer/src/index.ts:87
Renders and sends (or enqueues) a typed mail.
Type Parameters
T
T
Parameters
mail
MailDefinition<T>
rest
...T extends void ? [Envelope] : [T, Envelope]
Returns
Promise<void>
useQueue()
> useQueue(dispatch): this
Defined in: mailer/src/index.ts:81
Routes deliveries through a dispatcher instead of sending inline — typically a @basaltkit/queue job that calls mailer.deliver(message):
const SendMail = defineJob({ name: 'mailer.send', handle: (m) => mailer.deliver(m) }) mailer.useQueue((m) => SendMail.dispatch(m))
Parameters
dispatch
(message) => Promise<void>
Returns
this