feat: funzione per l'invio della posta elettronica da otrs-turbo. fix: corretta consuntivazione automatica. feat: aggiunto link apri in otrs anche nel numero del ticket in cima
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 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 };
|
||||
Reference in New Issue
Block a user