230 lines
11 KiB
JavaScript
230 lines
11 KiB
JavaScript
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,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAHgAA/+4ADkFkb2JlAGTAAAAAAf/bAIQAEAsLCwwLEAwMEBcPDQ8XGxQQEBQbHxcXFxcXHx4XGhoaGhceHiMlJyUjHi8vMzMvL0BAQEBAQEBAQEBAQEBAQAERDw8RExEVEhIVFBEUERQaFBYWFBomGhocGhomMCMeHh4eIzArLicnJy4rNTUwMDU1QEA/QEBAQEBAQEBAQEBA/8AAEQgANwBkAwEiAAIRAQMRAf/EAIkAAAEFAQEAAAAAAAAAAAAAAAACAwQFBgEHAQADAQEAAAAAAAAAAAAAAAABAgMABBAAAgIBAwIFAgQEBwAAAAAAAQIRAwAhEgQxE0FRYSIFgTJxkaEUscFCUvDhYnJTFQYRAAICAQIEBQUBAAAAAAAAAAABEQIxURIhQWED8HGBoSLRMmLSExT/2gAMAwEAAhEDEQA/ANm9c9MYsp8dT+uJv5Rn25HHKtnU6Z0VpbJC1q4FWLpAb8BGRzRLQQG9Bkr9wjD3CT59MZeGOg2/hOPWV0EtD6kWwFW2x0xValgIgkHWfTFge4TLeU4l+WiPRSINlljgLHgob+eG9oha/VApXL8YFWlzt0J66TPTyziByBKyhHXO2XGu3j1MNtljMQvmqqSf4Y7Tb7VDeUTGBW4tKHAzrwTcnaKEAO0RgqkE7zp4HHmasD7oPhGMf1eZ8x0zJtyZpKB5V2wA0znLFZnhTE+ONjepkAYW8ns1s79FEwMD4cTTPA5tr7vY7g7sbowyp/7Kz93v7Znfv7ce7btj7f7vXphnP/oeq++MPA/86+xf2VM4kKAD44w3HYdBOWSjasHQZwIG1GVXcaM6JkKupT9w2kdckpVUcdFSxBX65w9qsyWCgGCT0Gk6zgteQqkCLaq0peyB7FLD6CcxVHPtNnDvd1LV3WCY1BO/7/Prm25ViNxLVRgWZGA1HXPPCypxgNx7y8gkMo6A6T6mTkL2c5LVqowWXyXynIsNPIJVLaLCggf3KdSPrmh+J3cj42t2ILAuraakq7DMRzLQeZyaW3BTYCrH+jafGM1X/mudXTdf8faZay5mpYAlfUTmpZp5BZJrBYWcdyYCaeeNGm1NNv1GXEriGCRqc6V3XoRfbWpVqlviY/HIXylNgVbNxIGhRW26E6nLp0Qa/wA8z/zd1FtiV1k92uRpBEnQaeOuJ3+4tjx08wUp8ir7p/7Lbt/0zvET5T16/wCIwxrtcjd96zMz/VO3yj+3DOHdX8cSWg37WwdNR5HHK7Kz6emQ2+V4yKGvVlB0JjdBP+3HaruJyRNLhtJIHUfiM7JqxYaJFtiV1PaYIQFvyzLcpLuRZeOWykXrDbAVAUSRIJ9Mt/mbHr4q11HWxoPqBrH1yhsRq0s97HY2wT1Mz7W9fLJXz5FK48yY3BS7u7ZV7St8+RUbIIHpOZwJx1r7P3WNcrBvJWOwAD6ZecTZxna57m2VsFBczqxj3eJ9MoLZq5QdRAqQByfCxZ0/NhiZbG5DPIVRy7k8GgD0BOmS+LyzTZ3kOixYvgZ00yMj11cZLa1BKyCWBkCf88jtyUNgqVCi/aHM+7XWJxq2+UaCvB6PweavM78DWm1k+nVcfYKeozO/+W5bnlcrjMd++bVaPENtM/nmg5FnZpewkSoJAPn4ZdOFJK2YK/5blrxq+2olrFMwYMdBBzJ8u8vZuq2m/wAEcxA/MSctvkPlE5qVgoVaoksw6EdCAMzli8Q2Wq0XCqO2Fs2jcT0jr/HOTudzffO6qwPWsLQe32Tu3pv+2JMTt+2enX1wxrtJ+3n9uf3P/F7/ALvOZjDEladMIaCz5/ynyl421cW2ipSDFtTSSJghhp18M7wvlfmFsDpw7nvFhLotdgG2Bodq+eGGWXqAvua/N5PHr/dIvHZWBh9Af1IyFyTVYb5OxGsJbcDIYaKDhhhfUK9Cs53N5lPePGoeybATCFhuB9sj8cq6+ZznWw8jjxXvLwVYHuRqOn6YYYiw5z4wZ7uo0eTcyPsobsAEkvKkEkdJInXyxw8e3kXB7Leynt0JAJ0MbQdYwwwqOXuYSjfOtfPFDqzBpHHncqggHdt1ywW/m9gViu42VSXexSC7g6/d1www3iFuMuYy9124lqzsZNrBvuBJPu+hxXBp4aJ3Fat7NQ6Mw3SDp4z+mGGStth7cGQ37/3O7SN87ddszH44YYYP1GP/2Q==\" 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 : 'gray',
|
|
"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
|
|
},
|
|
],
|
|
|
|
};
|
|
|
|
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 : 'gray',
|
|
"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 : '-',
|
|
}
|
|
};
|
|
|
|
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 : 'gray',
|
|
"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,
|
|
|
|
}; |