SendEmail

Backend TypeScript function for sending emails via SMTP.

Basic Usage

import { sendEmail } from "@/lib/dw-email";
const result = await sendEmail({
to: "user@example.com",
from: `${import.meta.env.SITE_TITLE} <${import.meta.env.SMTP_USER}>`,
subject: "Welcome",
message: {
template: "@/email-templates/welcome",
data: {
name: "User",
siteName: import.meta.env.SITE_TITLE,
},
},
});

Text Only

const result = await sendEmail({
to: "user@example.com",
from: `${import.meta.env.SITE_TITLE} <${import.meta.env.SMTP_USER}>`,
subject: "Notification",
message: {
text: "Plain text message content",
},
});

HTML Only

const result = await sendEmail({
to: "user@example.com",
from: `${import.meta.env.SITE_TITLE} <${import.meta.env.SMTP_USER}>`,
subject: "Notification",
message: {
html: "<p>HTML message content</p>",
text: "Fallback plain text",
},
});

Multiple Recipients

const result = await sendEmail({
to: ["user1@example.com", "user2@example.com"],
cc: ["cc@example.com"],
bcc: "bcc@example.com",
replyTo: "reply@example.com",
from: `${import.meta.env.SITE_TITLE} <${import.meta.env.SMTP_USER}>`,
subject: "Team Update",
message: {
template: "@/email-templates/update",
data: { /* ... */ },
},
});

Options

OptionTypeDescription
tostring | arrayRecipient email(s)
fromstringSender address
subjectstringEmail subject
messageobjectMessage content
ccstring | arrayCC recipients
bccstring | arrayBCC recipients
replyTostringReply-to address