@baumdigital/email-helper
v1.0.0
Published
Helper para envios de correos mediante SNS u otros, tambien utilidades para templates y armado de html.
Downloads
40
Readme
@baumdigital/email-helper
Esta libreria esta diseña para envios de correos mediante SNS u otros, tambien utilidades para armado de templates y mas.
Uso
##Funcionalidad
//Configuraciones ambas son requeridas
const EmailHelper = require('@baumdigital/email-helper');
const emailsConfig = {
defaultFrom: '[email protected]',
defaultSender: 'ses',
name:'enviosBaum',
templateDefaultReplacements:{ // es un mapeo de keys y strings
'::img_logo::': '',
'::img_facebook::': '',
'::img_twitter::': '',
'::img_youtube::': '',
'::img_instagram::': '',
'::img_pinterest::': '',
'::img_googleplay::': '',
'::img_appstore::': '',
'::url_facebook::': '#',
'::url_twitter::': '#',
'::url_youtube::': '#',
'::url_instagram::': '#',
'::url_googleplay::': 'https://play.google.com/store?hl=es',
'::url_appstore::': 'https://www.apple.com/',
'::current_year::': new Date().getFullYear()
},
templateBuildMapping: { // es la direccion dentro del proyecto en donde estan los templates
// finalDirectory es donde se guardaran los templates ya concatenados
finalDirectory: '/Root/html/final/',
// lo ultimo debe ser el nombre del archivo, es decir header es el nombre del archivo
headerDir: '/Root/html/common/header', // ${headerDir}.${lenguage}.${ext}
footerDir: '/Root/html/common/footer', // ${footerDir}.${lenguage}.${ext}
topDir: '/Root/html/common/top', // ${topDir}.${lenguage}.${ext}
// la carpeta en donde van a estar contenidos de los templates
// se buscaran como ${contentDir}/${nombreTemplate}-${lenaguege}.${ext}
contentDir: '/Root/html/contents',
//ext de los archivos
ext: 'html',
}
};
const awsSDK = {
roleArn: 'example',
accessKeyId: 'example',
secretAccessKey: 'example',
region: 'example',
};
const options = {}
const Email = new EmailHelper(emailsConfig, awsSDK, options);
//Hace un envio por correo. Si no se envia el from se usa el default de la config. Si no se manda el sender se usa el default de la config
Email.sendMail(to, subject, body, from, sender);
//Construye un template de correo y hace las sustituciones. Siempre se hace las sustitucaciones del config por default
Email.buildEmailTemplate(template, replacements, lang);
//Carga un template directamente desde un archivo y hace las sustitucaciones. Siempre se hace las sustitucaciones del config por default
Email.loadTemplateFromFile(dir, replacements);
##Utilidades (metodo estaticos)
const EmailHelper = require('@baumdigital/email-helper');
//Utilidades
EmailHelper.emailObjectToString();
EmailHelper.getEmailsString();
EmailHelper.replaceAll();