2022-02-23 18:27:58 +00:00
const moment = require ( "moment" ) ;
2019-08-13 18:00:27 +00:00
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
2022-02-23 18:27:58 +00:00
* @ return { Promise }
*
2019-08-13 18:00:27 +00:00
* /
2019-08-29 18:08:22 +00:00
function send ( header , body ) {
2022-02-23 18:27:58 +00:00
const params = Object . assign (
{
From : {
Email : mailjet _from _email ,
Name : mailjet _from _name ,
} ,
To : [
2019-08-29 18:08:22 +00:00
{
2022-02-23 18:27:58 +00:00
Email : header . to ,
Name : header . name ,
} ,
] ,
Subject : header . subject ,
} ,
! header . bcc
? { }
: {
Bcc : [
{
Email : header . bcc ,
Name : header . bccName ,
2019-08-29 18:08:22 +00:00
} ,
2022-02-23 18:27:58 +00:00
] ,
2019-08-29 18:08:22 +00:00
} ,
2022-02-23 18:27:58 +00:00
/ *
2019-11-28 15:04:04 +00:00
{
2019-11-28 17:34:47 +00:00
"InlinedAttachments" : [
{
"ContentType" : "image/png" ,
"Content-Disposition" : "inline" ,
"Filename" : "qr.png" ,
"ContentID" : "id1" ,
"Base64Content" : "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"
} ,
] ,
2019-11-28 15:04:04 +00:00
"TextPart" : "Dear passenger 1, welcome to Mailjet! May the delivery force be with you!" ,
2019-11-28 17:34:47 +00:00
"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!"
} ,
2022-02-23 18:27:58 +00:00
* /
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 ;
} ) ;
}
2019-08-29 18:08:22 +00:00
/ * *
* 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
2022-02-23 18:27:58 +00:00
* @ param { number } data . tipoEntrada
* @ param { number } data . qrCode
2019-08-29 18:08:22 +00:00
* @ return { Promise }
*
* /
2019-11-29 11:06:24 +00:00
2022-02-23 18:27:58 +00:00
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 ,
} ,
/ * " I n l i n e d A t t a c h m e n t s " : [
2019-11-28 15:04:04 +00:00
{
"ContentType" : "image/png" ,
"Filename" : "qr.png" ,
"ContentID" : "id1" ,
2019-11-28 17:34:47 +00:00
"Content-Disposition" : "inline" ,
"Base64Content" : values . qrCode . substr ( 22 ) //Quitamos la cabecera para quedarnos solo con la imagen
2019-11-28 15:04:04 +00:00
} ,
2019-11-29 11:57:04 +00:00
] , * /
2022-02-23 18:27:58 +00:00
} ;
2019-11-28 15:04:04 +00:00
2022-03-11 11:37:03 +00:00
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 : "gray" ,
nameInscription : header . name ,
} ,
} ;
2022-02-23 18:27:58 +00:00
console . log ( body . Variables ) ;
2019-08-29 18:08:22 +00:00
2022-02-23 18:27:58 +00:00
return send ( header , body ) ;
}
2019-08-29 18:08:22 +00:00
2019-08-30 10:03:56 +00:00
function sendListaEspera ( header , values ) {
2022-02-23 18:27:58 +00:00
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 ) ;
}
2019-08-30 10:03:56 +00:00
2019-10-15 11:26:05 +00:00
function sendReservationCode ( header , values ) {
2022-02-23 18:27:58 +00:00
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 : "-" ,
} ,
} ;
2022-03-11 11:37:03 +00:00
console . log ( 'sendReservationCode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<' , header , body )
2022-02-23 18:27:58 +00:00
return send ( header , body ) ;
}
2019-10-15 11:26:05 +00:00
2019-09-13 11:49:22 +00:00
function sendCancelacion ( header , values ) {
2022-02-23 18:27:58 +00:00
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 ) ;
}
2019-09-13 11:49:22 +00:00
2019-08-29 18:08:22 +00:00
/ * *
* 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 ) {
2022-02-23 18:27:58 +00:00
const body = {
TextPart : values . text ,
HTMLPart : values . html ,
} ;
2019-08-29 18:08:22 +00:00
2022-02-23 18:27:58 +00:00
return send ( header , body ) ;
}
2019-08-13 18:00:27 +00:00
2019-08-29 18:08:22 +00:00
module . exports = {
2022-02-23 18:27:58 +00:00
sendMail ,
sendTicket ,
sendListaEspera ,
sendCancelacion ,
sendReservationCode ,
2022-03-11 11:37:03 +00:00
sendTicketOnline ,
2022-02-23 18:27:58 +00:00
} ;