277 lines
12 KiB
JavaScript
277 lines
12 KiB
JavaScript
const moment = require("moment");
|
|
const mailjet_public = "c9cbd50d7f4afe487e56949f95cb28a0";
|
|
const mailjet_private = "f8b77ee8e7b1181d94f07905d90e18c6";
|
|
const mailjet_from_email = "info@loquedeverdadimporta.org";
|
|
const mailjet_from_name = "Fundación Lo Que De Verdad Importa";
|
|
|
|
/**
|
|
* Enviar un email
|
|
* @param {number} data.to - Email destino
|
|
* @param {number} data.name - Nombre del contacto destino
|
|
* @param {number} data.subject - Asunto
|
|
* @param {number} data.text - Cuerpo del mensaje en texto plano
|
|
* @param {number} data.html - Cuerpo del mensaje en HTML
|
|
* @return {Promise}
|
|
*
|
|
*/
|
|
|
|
function send(header, body) {
|
|
const params = Object.assign(
|
|
{
|
|
From: {
|
|
Email: mailjet_from_email,
|
|
Name: mailjet_from_name,
|
|
},
|
|
To: [
|
|
{
|
|
Email: header.to,
|
|
Name: header.name,
|
|
},
|
|
],
|
|
Subject: header.subject,
|
|
},
|
|
|
|
!header.bcc
|
|
? {}
|
|
: {
|
|
Bcc: [
|
|
{
|
|
Email: header.bcc,
|
|
Name: header.bccName,
|
|
},
|
|
],
|
|
},
|
|
/*
|
|
{
|
|
"InlinedAttachments": [
|
|
{
|
|
"ContentType": "image/png",
|
|
"Content-Disposition": "inline",
|
|
"Filename": "qr.png",
|
|
"ContentID": "id1",
|
|
"Base64Content": "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"
|
|
},
|
|
],
|
|
|
|
"TextPart": "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!",
|
|
"HTMLPart": "<h3>Dear passenger 1, welcome to <img src=\"data:image/jpeg;base64,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\" src=\"cid:id1\" > <a href=\"https://www.mailjet.com/\">Mailjet</a>!</h3><br />May the delivery force be with you!"
|
|
},
|
|
|
|
*/
|
|
body
|
|
);
|
|
|
|
//console.log('PARAAAAAAAAAAAAAAAAAAAAMSSS MAILLL>', params);
|
|
const mailjet = require("node-mailjet").connect(mailjet_public, mailjet_private);
|
|
const request = mailjet.post("send", { version: "v3.1" }).request({
|
|
Messages: [params],
|
|
});
|
|
request
|
|
.then((result) => {
|
|
console.log("Envio correo >>>>");
|
|
console.log(result.body);
|
|
return result;
|
|
})
|
|
.catch((error) => {
|
|
console.log(error.statusCode);
|
|
console.log(error);
|
|
return error;
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Enviar un email con entrada
|
|
* @header
|
|
* @param {number} data.to - Email destino
|
|
* @param {number} data.name - Nombre del contacto destino
|
|
* @param {number} data.subject - Asunto
|
|
* @values
|
|
* @param {number} data.tipoEntrada
|
|
* @param {number} data.qrCode
|
|
* @return {Promise}
|
|
*
|
|
*/
|
|
|
|
function sendTicket(header, values) {
|
|
const body = {
|
|
TemplateID: 1112274, //980158,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
tipoEntrada: values.tipoEntrada,
|
|
descriptionEntrada: values.descriptionEntrada,
|
|
qrCode: values.qrCode,
|
|
qrCodeUrl: values.qrCodeUrl,
|
|
//"IDqrCode": "cid:id1",
|
|
codeTicket: values.codeTicket,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
dateInscription: values.dateInscription,
|
|
color: values.color ? values.color : "green",
|
|
nameInscription: header.name,
|
|
},
|
|
|
|
/*"InlinedAttachments": [
|
|
{
|
|
"ContentType": "image/png",
|
|
"Filename": "qr.png",
|
|
"ContentID": "id1",
|
|
"Content-Disposition": "inline",
|
|
"Base64Content": values.qrCode.substr(22) //Quitamos la cabecera para quedarnos solo con la imagen
|
|
},
|
|
],*/
|
|
};
|
|
|
|
console.log('sendTicket >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<', header, body)
|
|
|
|
return send(header, body);
|
|
}
|
|
|
|
function sendTicketOnline(header, values) {
|
|
//console.log('>>>>>>>>>>>>>>>>>>><<VALUES ONLINE>>>', values);
|
|
const body = {
|
|
TemplateID: 3717629,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
tipoEntrada: values.tipoEntrada,
|
|
descriptionEntrada: values.descriptionEntrada,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
dateInscription: values.dateInscription,
|
|
color: values.color ? values.color : "green",
|
|
nameInscription: header.name,
|
|
},
|
|
|
|
};
|
|
|
|
console.log(body.Variables);
|
|
|
|
return send(header, body);
|
|
}
|
|
|
|
function sendListaEspera(header, values) {
|
|
const body = {
|
|
TemplateID: 980163,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
tipoEntrada: values.tipoEntrada,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
dateInscription: values.dateInscription,
|
|
color: values.color ? values.color : "green",
|
|
nameInscription: header.name,
|
|
},
|
|
};
|
|
|
|
return send(header, body);
|
|
}
|
|
|
|
function sendReservationCode(header, values) {
|
|
const body = {
|
|
TemplateID: 1041673,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
entityName: values.entityName,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
reservationCode: values.reservationCode,
|
|
reservationDescription: values.reservationDescription ? values.reservationDescription : "-",
|
|
},
|
|
};
|
|
console.log('sendReservationCode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<', header, body)
|
|
return send(header, body);
|
|
}
|
|
|
|
function sendReservationCodeCollege(header, values) {
|
|
const body = {
|
|
TemplateID: 3985837,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
entityName: values.entityName,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
reservationCode: values.reservationCode,
|
|
reservationDescription: values.reservationDescription ? values.reservationDescription : "-",
|
|
},
|
|
};
|
|
console.log('sendReservationCodeCollege >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<', header, body)
|
|
return send(header, body);
|
|
}
|
|
|
|
function sendCancelacion(header, values) {
|
|
const body = {
|
|
TemplateID: 978886,
|
|
TemplateLanguage: true,
|
|
TemplateErrorDeliver: true,
|
|
TemplateErrorReporting: {
|
|
Email: "info@rodax-software.com",
|
|
Name: "Air traffic control",
|
|
},
|
|
Variables: {
|
|
tipoEntrada: values.tipoEntrada,
|
|
eventName: values.eventName,
|
|
dateEvent: values.dateEvent,
|
|
dateInscription: values.dateInscription,
|
|
color: values.color ? values.color : "green",
|
|
nameInscription: header.name,
|
|
},
|
|
};
|
|
|
|
return send(header, body);
|
|
}
|
|
|
|
/**
|
|
* Enviar un email
|
|
* @header
|
|
* @param {number} data.to - Email destino
|
|
* @param {number} data.name - Nombre del contacto destino
|
|
* @param {number} data.subject - Asunto
|
|
* @subjectAnBody
|
|
* @param {number} data.text - Cuerpo del mensaje en texto plano
|
|
* @param {number} data.html - Cuerpo del mensaje en HTML
|
|
* @return {Promise}
|
|
*
|
|
*/
|
|
function sendMail(header, values) {
|
|
const body = {
|
|
TextPart: values.text,
|
|
HTMLPart: values.html,
|
|
};
|
|
|
|
return send(header, body);
|
|
}
|
|
|
|
module.exports = {
|
|
sendMail,
|
|
sendTicket,
|
|
sendListaEspera,
|
|
sendCancelacion,
|
|
sendReservationCode,
|
|
sendReservationCodeCollege,
|
|
sendTicketOnline,
|
|
};
|