Skip to main content

EmailPluginOptions

EmailPluginOptions

Configuration for the EmailPlugin.

Signature
interface EmailPluginOptions {
templatePath?: string;
templateLoader?: TemplateLoader;
transport:
| EmailTransportOptions
| ((
injector?: Injector,
ctx?: RequestContext,
) => EmailTransportOptions | Promise<EmailTransportOptions>);
handlers: Array<EmailEventHandler<string, any>>;
globalTemplateVars?: { [key: string]: any };
emailSender?: EmailSender;
emailGenerator?: EmailGenerator;
}

templatePath

property
string

The path to the location of the email templates. In a default Vendure installation, the templates are installed to <project root>/vendure/email/templates.

templateLoader

property
v2.0.0

An optional TemplateLoader which can be used to load templates from a custom location or async service. The default uses the FileBasedTemplateLoader which loads templates from <project root>/vendure/email/templates

transport

Configures how the emails are sent.

handlers

property
Array<EmailEventHandler<string, any>>

An array of EmailEventHandlers which define which Vendure events will trigger emails, and how those emails are generated.

globalTemplateVars

property
{ [key: string]: any }

An object containing variables which are made available to all templates. For example, the storefront URL could be defined here and then used in the "email address verification" email.

emailSender

property
default:
<a href='/reference/core-plugins/email-plugin/email-sender#nodemaileremailsender'>NodemailerEmailSender</a>

An optional allowed EmailSender, used to allow custom implementations of the send functionality while still utilizing the existing emailPlugin functionality.

emailGenerator

property
default:
<a href='/reference/core-plugins/email-plugin/email-generator#handlebarsmjmlgenerator'>HandlebarsMjmlGenerator</a>

An optional allowed EmailGenerator, used to allow custom email generation functionality to better match with custom email sending functionality.

EmailPluginDevModeOptions

Configuration for running the EmailPlugin in development mode.

Signature
interface EmailPluginDevModeOptions extends Omit<EmailPluginOptions, 'transport'> {
devMode: true;
outputPath: string;
route: string;
}

devMode

property
true

outputPath

property
string

The path to which html email files will be saved rather than being sent.

route

property
string

The route to the dev mailbox server.