From cd2ae830a25c6315e4179e0c5eb42ddd6af2f087 Mon Sep 17 00:00:00 2001 From: kry008 Date: Fri, 3 Jan 2025 09:40:01 +0100 Subject: [PATCH] =?UTF-8?q?Masowa=20wysy=C5=82ka=20doko=C5=84czenie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serwer/app/func.js | 11 +++++++---- serwer/app/panelRoutes.js | 21 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/serwer/app/func.js b/serwer/app/func.js index bcd08a1..4439d26 100644 --- a/serwer/app/func.js +++ b/serwer/app/func.js @@ -454,8 +454,10 @@ CREATE OR REPLACE VIEW \`sumy\` AS SELECT \`rozliczenie\`.\`wolontariuszID\` AS return toSend; } -function massEmail($emaile = [], $tytul = "Powiadomienie od sztabu", $tresc = "Brak treści wiadomości") +function massEmail(emaile = [], tytul = "Powiadomienie od sztabu", tresc = "Brak treści wiadomości") { + console.log('Wysyłanie maili do ' + emaile.length + ' osób'); + const nodemailer = require('nodemailer'); const transporter = nodemailer.createTransport({ host: process.env.SMTPHOST, @@ -466,12 +468,12 @@ function massEmail($emaile = [], $tytul = "Powiadomienie od sztabu", $tresc = "B pass: process.env.SMTPPASS } }); - $emaile.forEach(element => { + emaile.forEach(element => { const mailOptions = { from: process.env.SMTPLOGIN, bcc: element, - subject: $tytul, - html: '

' + $tytul + '


' + $tresc + '

Pozdrawiamy,
' + process.env.SZTAB + '

' + footerHtml(0,1) + subject: tytul, + html: '

' + $tytul + '


' + tresc + '

Pozdrawiamy,
' + process.env.SZTAB + '

' + footerHtml(0,1) }; transporter.sendMail(mailOptions, function(error, info){ if (error) { @@ -483,6 +485,7 @@ function massEmail($emaile = [], $tytul = "Powiadomienie od sztabu", $tresc = "B } }); }); + return emaile.length; } diff --git a/serwer/app/panelRoutes.js b/serwer/app/panelRoutes.js index 62e0e74..3237496 100644 --- a/serwer/app/panelRoutes.js +++ b/serwer/app/panelRoutes.js @@ -1732,7 +1732,7 @@ panelRouter.get('/wyslijEmaile', function(req, res) { toReturn += '

Wysyłanie emaili

'; toReturn += '
'; toReturn += ''; - toReturn += ''; + toReturn += ''; toReturn += ''; toReturn += '
Temat
Temat
Treść
'; toReturn += ''; @@ -1757,7 +1757,24 @@ panelRouter.post('/wyslijEmaile', function(req, res) { //pobierz temat i treść emaila, a potem bobierz wszystkie emaile (unikalne) i wyslij var temat = req.body.temat; var tresc = req.body.tresc; - res.send({temat: temat, tresc: tresc}); + tresc = tresc.replace(/`/g, "'"); + temat = temat.replace(/`/g, "'"); + var emaileWolontariuszy = []; + con.query("SELECT DISTINCT `email` FROM `wolontariusz`", function(err, result) { + if (err) throw err; + result.forEach(function(row) { + emaileWolontariuszy.push(row.email); + }); + var ile = massEmail(emaileWolontariuszy, temat, tresc); + var toReturn = headerHtml("Wysyłanie emaili"); + toReturn += menuHtml(1); + toReturn += '
'; + toReturn += '

Wysyłanie emaili

'; + toReturn += '

Wysłano ' + ile + ' emaili

'; + toReturn += '
'; + toReturn += footerHtml(1); + res.send(toReturn); + }); }); module.exports = panelRouter; \ No newline at end of file