124 lines
4.3 KiB
JavaScript
124 lines
4.3 KiB
JavaScript
const dotenv = require("dotenv");
|
||
dotenv.config();
|
||
|
||
const express = require("express");
|
||
const bodyParser = require('body-parser');
|
||
const cors = require("cors");
|
||
|
||
const nodemailer = require("nodemailer");
|
||
const fs = require("fs");
|
||
|
||
const transporter = nodemailer.createTransport({
|
||
host: "smtp-relay.brevo.com",
|
||
port: 587,
|
||
authMethod: "PLAIN",
|
||
auth: {
|
||
user: process.env.smtp_user,
|
||
pass: process.env.smtp_pass,
|
||
}
|
||
});
|
||
|
||
const app = express();
|
||
const port = 3000;
|
||
|
||
app.use(cors({
|
||
origin: process.env.origin,
|
||
}))
|
||
app.use(express.static("assets"));
|
||
app.use(bodyParser.urlencoded({ extended: true }));
|
||
|
||
app.post("/post", (req, res) => {
|
||
fs.writeFile(`./data/${req.body.firstname}-${req.body.lastname}.json`, JSON.stringify(req.body), (err) => {
|
||
console.log(err)
|
||
})
|
||
|
||
transporter.sendMail({
|
||
from: "Alumnihub <alumnihub@kocoder.xyz>",
|
||
to: `${req.body.firstname} ${req.body.lastname} <${req.body.email}>`,
|
||
envelope: {
|
||
from: "alumnihub@kocoder.xyz",
|
||
to: req.body.email,
|
||
},
|
||
subject: "Anmeldungs für's Absolvententreffen.",
|
||
text:
|
||
`
|
||
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<body style="font-family: Arial, sans-serif; line-height: 1.5;">
|
||
|
||
<p>Liebe/r ${req.body.firstname},</p>
|
||
|
||
<p>vielen Dank für deine Anmeldung zum Absolvent*innentreffen am<br>
|
||
📅 <strong>Donnerstag, 25. September 2025</strong>,<br>
|
||
⏰ <strong>von 17:00 bis 20:00 Uhr</strong><br>
|
||
📍 im Speisesaal des SZU, Ungargasse 69, 1030 Wien.</p>
|
||
|
||
<p>Wir freuen uns sehr, dich an diesem besonderen Abend begrüßen zu dürfen!</p>
|
||
|
||
<p>Dich erwarten spannende Einblicke in aktuelle Entwicklungen am SZU, interessante Führungen sowie die Möglichkeit zum Wiedersehen, Austauschen und gemeinsamen Erinnern. Für das leibliche Wohl sorgt eine engagierte Abschlussklasse – der Reinerlös unterstützt ihre Abschlussreise. <strong>Bitte bring dafür Bargeld mit.</strong></p>
|
||
|
||
<p>📸 Wenn du Erinnerungsfotos aus deiner Schulzeit beisteuern möchtest, sende sie uns gerne vorab an:<br>
|
||
📧 <a href="mailto:szu.absolventinnentreffen@outlook.com">szu.absolventinnentreffen@outlook.com</a></p>
|
||
|
||
<p>❗Falls du wider Erwarten doch nicht teilnehmen kannst, bitten wir dich um eine kurze Absage per E-Mail an dieselbe Adresse. So können wir besser planen – vielen Dank!</p>
|
||
|
||
<p>Wir freuen uns auf einen stimmungsvollen Abend mit dir und auf viele schöne Begegnungen!</p>
|
||
|
||
<p>Herzliche Grüße<br>
|
||
Gerti Brindlmayer & Lukas Aigner<br>
|
||
im Namen des Teams des Absolvent*innen- & Fördervereins des SZU</p>
|
||
|
||
</body>
|
||
</html>
|
||
`,
|
||
}, (err, info) => {
|
||
if (err) return res.send(err);
|
||
});
|
||
return res.send("Du wurdest erfolgreich angemeldet!");
|
||
});
|
||
|
||
app.post("/cancel", (req, res) => {
|
||
fs.writeFile(`./data/${req.body.firstname}-${req.body.lastname}.json`, JSON.stringify(req.body), (err) => {
|
||
console.log(err)
|
||
})
|
||
|
||
transporter.sendMail({
|
||
from: "Alumnihub <alumnihub@kocoder.xyz>",
|
||
to: `${req.body.firstname} ${req.body.lastname} <${req.body.email}>`,
|
||
envelope: {
|
||
from: "alumnihub@kocoder.xyz",
|
||
to: req.body.email,
|
||
},
|
||
subject: "Anmeldungs für's Absolvententreffen.",
|
||
text: `
|
||
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<body style="font-family: Arial, sans-serif; line-height: 1.5;">
|
||
|
||
<p>Liebe/r ${req.body.firstname},</p>
|
||
|
||
<p>vielen Dank für deine Rückmeldung zum Absolventinnentreffen am <strong>25. September 2025</strong>. Auch wenn du diesmal nicht teilnehmen kannst, freut es uns sehr, dass du mit dem <strong>Absolventinnen- & Förderverein des SZU</strong> in Verbindung bleiben möchtest.</p>
|
||
|
||
<p>Wir haben deine Kontaktdaten gespeichert und melden uns gerne bei zukünftigen Veranstaltungen oder Aktivitäten des Vereins wieder bei dir.</p>
|
||
|
||
<p>Wenn du Fragen hast oder dich aktiv einbringen möchtest, erreichst du uns jederzeit unter:<br>
|
||
📧 <a href="mailto:szu.absolventinnentreffen@outlook.com">szu.absolventinnentreffen@outlook.com</a></p>
|
||
|
||
<p>Herzliche Grüße<br>
|
||
Gerti Brindlmayer & Lukas Aigner<br>
|
||
im Namen des Teams des Absolvent*innen- & Fördervereins des SZU</p>
|
||
|
||
</body>
|
||
</html>
|
||
`,
|
||
}, (err, info) => {
|
||
if (err) return res.send(err);
|
||
});
|
||
return res.send("Du hast erfolgreich abgesagt !");
|
||
});
|
||
|
||
|
||
app.listen(port, () => {
|
||
console.log(`Example app listening on port ${port}`);
|
||
});
|