Files
otrs-turbo/utils/mailer.js
T

36 lines
1.1 KiB
JavaScript

/**
* utils/mailer.js
* Factory: seleziona il metodo di invio email corretto in base alla configurazione .env.
* Priorità: Graph API (se AZURE_TENANT_ID configurato) → SMTP (se SMTP_HOST configurato)
*/
'use strict';
function getMailer() {
if (process.env.AZURE_TENANT_ID && process.env.AZURE_CLIENT_ID && process.env.AZURE_CLIENT_SECRET) {
return require('./graphMailer');
}
if (process.env.SMTP_HOST) {
return require('./smtpMailer');
}
throw new Error('[Mailer] Nessun metodo di invio email configurato. Impostare AZURE_TENANT_ID oppure SMTP_HOST nel .env.');
}
/**
* Invia una email usando il metodo configurato (Graph API o SMTP).
*
* @param {Object} options
* @param {string[]} options.to
* @param {string[]} [options.cc]
* @param {string[]} [options.bcc]
* @param {string} options.subject
* @param {string} options.bodyHtml
* @param {Array} [options.attachments]
* @param {Array} [options.inlineImages]
*/
async function sendMail(options) {
const mailer = getMailer();
return mailer.sendMail(options);
}
module.exports = { sendMail };