EmailSender extensibility
Implement a script-based email provider by registering `runtime.scriptable.emailEngine.SendEmail`.
What this is
How SendEmail works
SendEmail worksReference implementation (signature)
/**
* @typedef {Object} EmailData
* @property {string} Subject - Rendered subject line.
* @property {string} Body - Rendered body content.
*/
/**
* Send an email using the provided template name and data.
* The caller supplies the supported cultures and a callback
* to build the rendered email content.
*
* @param {string} recipient - Target email address.
* @param {string} emailTemplate - Template name to render.
* @param {Object.<string, any>} data - Template data passed to the script.
* @param {string[]} cultures - Available culture names from the culture provider.
* @param {(templateName: string) => Promise<EmailData>} buildEmail
* Callback that returns the final rendered email content.
*
* @returns {Promise<void>}
*/
async function sendEmail(recipient, emailTemplate, data, cultures, buildEmail){
// call any API to send email
}
export default function(context) {
context.register('runtime.scriptable.emailEngine', {
SendEmail: sendEmail
})
}Enable the script email provider
Template and culture notes
Troubleshooting
FAQ
Last updated

