Files
Uebergangsloesung/index.js
2025-08-04 22:00:18 +02:00

56 lines
1.5 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: `Hallo ${req.body.firstname}!
Du hast dich erfolgreich für das Absolvententreffen am X.Y.Z angemeldet! Hier findest du alle Details https://x.y!
Bei Rückfragen bitte an: absolvententreffen@outlook.com wenden.
`,
}, (err, info) => {
if (err) return res.send(err);
});
return res.send("Du wurdest erfolgreich angemeldet!");
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`);
});