matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
30 lines • 1.18 kB
JavaScript
import nodemailer from 'nodemailer';
export class EmailNotificationService {
logger;
transporter;
from;
recipient;
constructor(settings, logger) {
this.logger = logger;
this.from = settings.smtpUser ?? '';
this.recipient = settings.recipient ?? '';
this.transporter = nodemailer.createTransport({
host: settings.smtpHost,
port: settings.smtpPort ?? 587,
secure: settings.smtpSecure ?? false,
auth: { user: settings.smtpUser, pass: settings.smtpPassword },
});
}
async send(subject, body) {
try {
await this.transporter.sendMail({ from: this.from, to: this.recipient, subject, text: body });
}
catch (error) {
this.logger.error(`[EmailNotificationService] Failed to send email: ${error instanceof Error ? error.message : String(error)}`);
}
}
async sendTestEmail() {
await this.send('[Roborock] Email notification setup successful', `Your email notification settings are working correctly.\n\nTime: ${new Date().toISOString()}`);
}
}
//# sourceMappingURL=emailNotificationService.js.map