diff --git a/emails/newsletter/it/html.pug b/emails/newsletter/it/html.pug
index c02fe88..d8e525c 100755
--- a/emails/newsletter/it/html.pug
+++ b/emails/newsletter/it/html.pug
@@ -18,39 +18,35 @@
- var baseimg = baseurl + '/'
doctype html
html
- head
- title Calendario Eventi
+ - if (dataemail.title)
+ head
+ title dataemail.subject
- //- import css/scss stylesheets
- //- these file names will be replace by gulp with proper css file paths
- link(rel="stylesheet", href="../sass/basic.scss")
- link(rel="stylesheet", href="../sass/one/styles.scss")
+ //- import css/scss stylesheets
+ //- these file names will be replace by gulp with proper css file paths
+ link(rel="stylesheet", href="../sass/basic.scss")
+ link(rel="stylesheet", href="../sass/one/styles.scss")
- //- embdedded css allowed, but not sass
- style.
- .red {
- background-color: #E84C50;
- }
+ //- embdedded css allowed, but not sass
+ style.
+ .red {
+ background-color: #E84C50;
+ }
- .full-width {
- width: 100%;
- }
+ .full-width {
+ width: 100%;
+ }
body(yahoofix)
span(id='body_style', style='display:block')
- table(class="preheader", cellpadding="0", cellspacing="0", width="100%")
- tr
- td.webversion
- p non vedi le immagini?
- a(href=urlcal) Apri il Calendario
-
table(class="topHeader", cellpadding="0", cellspacing="0", width="100%")
- tr
- td
- table(cellpadding="0", cellspacing="0", align="center", summary="")
- tr
- td.logoContainer
- a(href=baseurl, title='logo')
- img.logo(src=baseurl+"/images/logo.png", height=dataemail.height_logo)
+ - if (dataemail.height_logo)
+ tr
+ td
+ table(cellpadding="0", cellspacing="0", align="center", summary="")
+ tr
+ td.logoContainer
+ a(href=baseurl, title='logo')
+ img.logo(src=baseurl+"/images/logo.png", height=dataemail.height_logo)
tr
td.testomail
@@ -61,17 +57,17 @@ html
td.clpromo
p!= dataemail.textpromo
- - if (dataemail.templ.content)
- table(cellpadding="0", cellspacing="0", width="95%", align="center")
- tr
- td(class="textIniContainer", valign="top")
- p!=dataemail.templ.content
- - if (dataemail.templ.img)
- img(src=baseimg + dataemail.templ.img, alt="", class="myimg")
- - if (dataemail.templ.content2)
- p!=dataemail.templ.content2
- - if (dataemail.templ.img2)
- img(src=baseimg + dataemail.templ.img2, alt="", class="myimg")
+ - if (dataemail.templ.content)
+ table(cellpadding="0", cellspacing="0", width="95%", align="center")
+ tr
+ td(class="textIniContainer", valign="top")
+ p!=dataemail.templ.content
+ - if (dataemail.templ.img)
+ img(src=baseimg + dataemail.templ.img, alt="", class="myimg")
+ - if (dataemail.templ.content2)
+ p!=dataemail.templ.content2
+ - if (dataemail.templ.img2)
+ img(src=baseimg + dataemail.templ.img2, alt="", class="myimg")
table(cellpadding="0", cellspacing="0", width="640", align="center")
- if (dataemail.templ.options.includes('SHOW_EVENTS'))
@@ -201,10 +197,6 @@ html
td(class="whitespace", height="20")
p
- tr
- td(class="whitespace", height="20")
- p
-
// Social Media
table.socialMedia(cellpadding="0", cellspacing="0", width="100%", summary="", border="0", align="center")
tr
diff --git a/sass/basic.scss b/sass/basic.scss
index 42e7a42..a9c9fe9 100755
--- a/sass/basic.scss
+++ b/sass/basic.scss
@@ -2,7 +2,7 @@
body, #body_style {
margin: 0;
padding: 0;
- background: #E9F2F9;
+ background: #E9F2F9 !important;
color: #5b656e;
}
diff --git a/src/server/models/orderscart.js b/src/server/models/orderscart.js
index ff67b32..abc5812 100755
--- a/src/server/models/orderscart.js
+++ b/src/server/models/orderscart.js
@@ -235,7 +235,7 @@ module.exports.getOrdersCartByQuery = async function (query) {
.populate({
path: 'userId',
model: 'User',
- select: '_id name surname username profile'
+ select: '_id name surname username profile email lang'
})
.lean();
diff --git a/src/server/router/orders_router.js b/src/server/router/orders_router.js
index de04a13..698d22d 100755
--- a/src/server/router/orders_router.js
+++ b/src/server/router/orders_router.js
@@ -22,14 +22,15 @@ const Product = require('../models/product');
const Order = require('../models/order');
const Variant = require('../models/variant');
+const sendemail = require('../sendemail');
const CartClass = require('../modules/Cart')
const Cart = require('../models/cart');
const OrdersCart = require('../models/orderscart');
//GET orders
router.get('/:userId', authenticate, function (req, res, next) {
- let userId = req.body.userId
- let idapp = req.body.idapp
+ let userId = req.body.userId;
+ let idapp = req.body.idapp;
OrdersCart.getOrdersCartByUserId(userId, idapp, 0, false)
.then((cart) => {
@@ -39,6 +40,36 @@ router.get('/:userId', authenticate, function (req, res, next) {
res.status(400).send(e);
})
-})
+});
+
+router.post('/sendmail', authenticate, async function (req, res, next) {
+ const idOrdersCart = req.body.idOrdersCart;
+ const idapp = req.body.idapp;
+ const test = req.body.test;
+ const previewonly = req.body.previewonly;
+ const templemail_id = req.body.templemail_id;
+
+ try {
+ // Invia Email
+ let myOrderCart = await OrdersCart.getOrdersCartById(idOrdersCart);
+ if (myOrderCart) {
+ const userto = myOrderCart.user;
+ let emailto = userto.email;
+
+ if (userto && emailto) {
+ const emailsend = await sendemail.sendEmail_byTemplate (idapp, userto, previewonly, emailto, templemail_id, test);
+
+ return res.send({ code: server_constants.RIS_CODE_OK, emailsend });
+ }
+ }
+
+ return res.send({ code: server_constants.RIS_CODE_OK, emailsend: false });
+
+ } catch (e) {
+ console.error('err:', e);
+ res.status(400).send(e);
+ }
+
+});
module.exports = router;
diff --git a/src/server/sendemail.js b/src/server/sendemail.js
index 5ed4f84..b81250e 100755
--- a/src/server/sendemail.js
+++ b/src/server/sendemail.js
@@ -62,6 +62,9 @@ module.exports = {
if (replyTo === '')
replyTo = mylocalsconf.dataemail.email_reply;
+ if (!replyTo)
+ replyTo = '';
+
const paramemail = {
message: {
from: mylocalsconf.dataemail.from, // sender address
@@ -645,7 +648,7 @@ module.exports = {
return mylocalsconf;
},
- getdataemail: async (idapp) => {
+ getdataemail: async (idapp, templemail_id) => {
// console.log('getdataemail');
const mydata = {
content_after_events: await Settings.getValDbSettings(idapp, 'TEXT_AFTER_EV'),
@@ -667,7 +670,7 @@ module.exports = {
pwd_from: await Settings.getValDbSettings(idapp, 'PWD_FROM'),
email_service: await Settings.getValDbSettings(idapp, 'EMAIL_SERVICE_SEND'),
email_port: await Settings.getValDbSettings(idapp, 'EMAIL_PORT'),
- templemail_id: await Settings.getValDbSettings(idapp, 'TEMPLEMAIL_ID'),
+ templemail_id: templemail_id ? templemail_id : await Settings.getValDbSettings(idapp, 'TEMPLEMAIL_ID'),
};
// console.log(mydata.templemail_id);
@@ -990,7 +993,6 @@ module.exports = {
arrevents: myarrevents,
name: 'TestNome',
surname: 'TestCognome',
- subject: '',
emailto: myemail,
baseurl: tools.getHostByIdApp(idapp),
hashemail: tools.getHash(myemail),
@@ -1001,6 +1003,8 @@ module.exports = {
mylocalsconf.dataemail = await this.getdataemail(idapp);
+ mylocalsconf.dataemail.subject = mylocalsconf.dataemail && mylocalsconf.dataemail.templ ? mylocalsconf.dataemail.templ.subject : '',
+
this.replacefields(mylocalsconf);
const smtpTransport = this.getTransport(mylocalsconf);
@@ -1013,6 +1017,45 @@ module.exports = {
},
+ sendEmail_byTemplate: async function (idapp, userto, previewonly, emailto, templemail_id, test) {
+
+ // const myarrevents = await MyEvent.getLastEvents(idapp);
+ const myemail = emailto;
+ if (myemail) {
+ let mylocalsconf = {
+ idapp,
+ locale: userto.lang,
+ nomeapp: tools.getNomeAppByIdApp(idapp),
+ name: userto.name,
+ surname: userto.surname,
+ emailto: myemail,
+ baseurl: tools.getHostByIdApp(idapp),
+ hashemail: tools.getHash(myemail),
+ };
+
+ if (test) {
+ mylocalsconf.emailto = await Settings.getValDbSettings(idapp, 'EMAIL_TEST');
+ }
+
+ mylocalsconf.dataemail = await this.getdataemail(idapp, templemail_id);
+
+ this.replacefields(mylocalsconf);
+
+ mylocalsconf.subject = mylocalsconf.dataemail.templ.subject;
+
+ const smtpTransport = this.getTransport(mylocalsconf);
+
+ console.log('-> Invio Email ' + mylocalsconf.subject + ' a', mylocalsconf.emailto, 'in corso...');
+ const risult = await this.sendEmail_base('newsletter/' + userto.lang, mylocalsconf.emailto, mylocalsconf, '', smtpTransport, previewonly);
+ console.log(' ...email inviata?', risult);
+
+ return risult;
+ }
+
+ return false;
+
+ },
+
testemailHtml: async function (idapp, lang, email, myuser) {
let mytitle = 'Prova msg';