registerEmailService
Register a custom email service provider. EverShop does not send emails by default — you must register an email service in your extension's bootstrap.
Import
import { registerEmailService } from '@evershop/evershop/lib/mail/emailHelper';
Syntax
registerEmailService(service: EmailService): void
interface EmailService {
sendEmail: (args: SendEmailArguments) => Promise<void>;
}
Parameters
service — An object implementing the EmailService interface with a sendEmail method.
The sendEmail method receives:
to(string) — Recipient emailfrom(string) — Sender emailsubject(string) — Email subjectbody(string) — Compiled HTML bodytemplate(string) — Raw Handlebars templatedata(EmailData) — Template datacc(string[], optional) — CC recipients
Examples
extensions/resend-email/src/bootstrap.ts
import { registerEmailService } from '@evershop/evershop/lib/mail/emailHelper';
import { Resend } from 'resend';
export default () => {
const resend = new Resend(process.env.RESEND_API_KEY);
registerEmailService({
sendEmail: async (args) => {
await resend.emails.send({
from: args.from,
to: args.to,
subject: args.subject,
html: args.body
});
}
});
};
See Also
- sendEmail — Send an email
- Email System — Full email system guide