iching-broker-level1/broker.ts

49 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-03-25 08:54:22 +00:00
import { exec } from 'child_process';
2025-03-25 11:39:58 +00:00
const nodemailer = require('nodemailer');
2025-03-25 08:54:22 +00:00
exec('iching divine', (error, stdout, stderr) => {
console.log(`Beginn`);
if (error) {
console.error(`Fehler: ${error.message}`);
return;
}
if (stderr) {
console.error(`Stderr: ${stderr}`);
return;
}
2025-03-25 11:39:58 +00:00
//console.log(`Ergebnis:\n${stdout}`);
2025-03-25 08:54:22 +00:00
2025-03-25 11:39:58 +00:00
sendEmail(stdout); //TODO: param
2025-03-25 08:54:22 +00:00
});
2025-03-25 11:39:58 +00:00
// Erstelle den Transporter
const transporter = nodemailer.createTransport({
//host: "localhost", // MailHog läuft standardmäßig auf localhost
host: "mailhog.mailhog.svc.cluster.local", // MailHog ClusterIP
port: 1025, // Standard-MailHog SMTP-Port
secure: false // MailHog benötigt keine Verschlüsselung
2025-03-25 13:35:24 +00:00
});
2025-03-25 11:39:58 +00:00
// E-Mail senden
async function sendEmail(content: string) { //TODO: param
try {
const info = await transporter.sendMail({
from: '"Test Sender" <test@example.com>',
to: "Christopher.Hase@telekom.com;test@mailhog.local",
2025-03-25 11:53:25 +00:00
subject: "Horoscope from MailHog",
2025-03-25 11:39:58 +00:00
text: content,
html: "<p> ${content} </p>"
});
console.log("E-Mail gesendet: ", info.messageId);
} catch (error) {
console.error("Fehler beim Senden der E-Mail:", error);
}
}