51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
const nodemailer = require('nodemailer');
|
||
|
||
const transporter = nodemailer.createTransport({
|
||
host: process.env.MAIL_HOST,
|
||
port: Number(process.env.MAIL_PORT),
|
||
secure: process.env.MAIL_PORT === '465',
|
||
requireTLS: true,
|
||
auth: {
|
||
user: process.env.MAIL_USER,
|
||
pass: process.env.MAIL_PASS
|
||
}
|
||
});
|
||
|
||
module.exports = async function sendAdminMail(data) {
|
||
try {
|
||
if (!process.env.ADMIN_MAIL) {
|
||
console.warn('⚠️ ADMIN_MAIL nicht gesetzt');
|
||
return;
|
||
}
|
||
|
||
await transporter.sendMail({
|
||
from: `"Plusfit System" <${process.env.MAIL_USER}>`,
|
||
to: process.env.ADMIN_MAIL,
|
||
subject: `🆕 Neuer Vertrag abgeschlossen – ${data.vertragsnummer}`,
|
||
text: `
|
||
Neuer Vertragsabschluss bei Plusfit
|
||
|
||
----------------------------------
|
||
Vertragsnummer: ${data.vertragsnummer}
|
||
Name: ${data.vorname} ${data.nachname}
|
||
E-Mail: ${data.email}
|
||
|
||
Vertragsart: ${data.vertragName}
|
||
Beitrag: ${data.betrag.toFixed(2)} € / Monat
|
||
|
||
Abgeschlossen am: ${new Date(data.datum).toLocaleString('de-DE')}
|
||
IP-Adresse: ${data.ip}
|
||
|
||
----------------------------------
|
||
Hinweis:
|
||
Diese Mail dient nur zur Information.
|
||
`.trim()
|
||
});
|
||
|
||
console.log(`📬 Admin-Mail gesendet (${process.env.ADMIN_MAIL})`);
|
||
|
||
} catch (err) {
|
||
console.error('❌ Fehler beim Versand der Admin-Mail:', err.message);
|
||
}
|
||
};
|