import nodemailer from "nodemailer"; import dotenv from "dotenv"; dotenv.config(); function buildLoanEmail({ user, items, startDate, endDate, createdDate }) { const brand = process.env.MAIL_BRAND_COLOR || "#0ea5e9"; const itemsList = Array.isArray(items) && items.length ? `` : "N/A"; return `
Neue Ausleihe erstellt – Übersicht der Buchung.
`; } function buildLoanEmailText({ user, items, startDate, endDate, createdDate }) { const itemsText = Array.isArray(items) && items.length ? items.join(", ") : "N/A"; return [ "Neue Ausleihe erstellt", "", `Benutzer: ${user || "N/A"}`, `Gegenstände: ${itemsText}`, `Start: ${formatDateTime(startDate)}`, `Ende: ${formatDateTime(endDate)}`, `Erstellt am: ${formatDateTime(createdDate)}`, ].join("\n"); } export function sendMailLoan(user, items, startDate, endDate, createdDate) { const transporter = nodemailer.createTransport({ host: process.env.MAIL_HOST, port: process.env.MAIL_PORT, secure: true, auth: { user: process.env.MAIL_USER, pass: process.env.MAIL_PASSWORD, }, }); (async () => { const info = await transporter.sendMail({ from: '"Ausleihsystem" ', to: process.env.MAIL_SENDEES, subject: "Eine neue Ausleihe wurde erstellt!", text: buildLoanEmailText({ user, items, startDate, endDate, createdDate, }), html: buildLoanEmail({ user, items, startDate, endDate, createdDate }), }); console.log("Message sent:", info.messageId); })(); console.log("sendMailLoan called"); }