Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 8x 8x 8x 8x 2x 2x 2x 2x 8x | /**
* @module mail
*/
const sgMail = require('@sendgrid/mail');
const log = require("../../util/log");
// Configure interface
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
/**
* Send email asynchronously.
* Supports both HTML and plain text email bodies.
* Success or failure is logged.
* @param {String} from
* @param {String} to
* @param {String} subject
* @param {String} text
* @param {String} [html=text] text will be used as html body if omitted
*/
const sendEmail = async (from, to, subject, text, html) => {
log.info("'%s': Sending email to '%s'", from, to);
try {
await sgMail.send({
from: from ? from : process.env.DEFAULT_EMAIL_ADDRESS,
to,
subject,
text,
html: html ? html : text,
});
log.info("'%s': Email sent successfully to '%s'", from, to);
} catch (error) {
/* istanbul ignore next */
log.error("'%s': Failed sending email to '%s', err: " +
error.message, from, to);
}
};
module.exports = {
sendEmail,
};
|