0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-03 23:00:14 -05:00
ghost/core/server/services/bulk-email/index.js
Fabien O'Carroll 20ce0c313c Added initial bulk-email service
no-issue

This is a simple wrapper around the current ghost mailer service for now
2019-11-04 12:36:12 +07:00

36 lines
1 KiB
JavaScript

// @ts-check
const mailService = require('../mail');
const ghostMailer = new mailService.GhostMailer();
/*
* An email address
* @typedef { string } EmailAddress
*/
/*
* An object representing an email to send
* @typedef { Object } Email
* @property { string } html - The html content of the email
*/
module.exports = {
/**
* @param {Email} message - The message to send
* @param {[EmailAddress]} recipients - the recipients to send the email to
* @returns {Promise<boolean>} A promise representing the success of the email sending
*/
async send(message, recipients) {
for (const recipient in recipients) {
const messageToSend = Object.assign({}, message, {
to: recipient
});
try {
await ghostMailer.send(messageToSend);
} catch (err) {
// @TODO log this somewhere with state?
console.log(`Oh no! an email failed to send :( ${recipient}`);
}
}
return true;
}
};