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": "

Dear passenger 1, welcome to Mailjet!


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 }, ],*/ }; console.log('sendTicket >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<', header, body) return send(header, body); } function sendTicketOnline(header, values) { //console.log('>>>>>>>>>>>>>>>>>>><>>', 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 : "gray", 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 : "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 : "-", }, }; console.log('sendReservationCode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<', 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 : "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, sendTicketOnline, };