Was ist Nodemailer und wofür wird es benötigt?
Nodemailer ist das beliebteste Modul zum Versenden von E-Mails in der Node.js-Umgebung. Es ist in JavaScript geschrieben und funktioniert dank integrierter Typen (DefinitelyTyped) perfekt mit TypeScript. Die Bibliothek ermöglicht das Versenden von E-Mails über SMTP, Sendmail, Amazon SES und andere Transporte. In TypeScript-Projekten bietet Nodemailer eine strenge Typisierung aller Optionen, was die Anzahl der Fehler während der Kompilierungsphase reduziert.
Installation
Führen Sie zur Installation den folgenden Befehl aus:
npm install nodemailer @types/nodemailerDas Paket @types/nodemailer fügt die für TypeScript erforderlichen Typdeklarationen hinzu.
Hauptfunktionen
- E-Mail-Versand über SMTP — Unterstützung für Gmail, Yandex, Mail.ru, SendGrid und alle anderen SMTP-Server.
- Anhänge — Möglichkeit, Dateien, Bilder, PDFs anzuhängen.
- HTML-Vorlagen — Versand von E-Mails mit formatiertem HTML-Inhalt.
- SSL/TLS-Unterstützung — Sichere Datenübertragung.
- Verbindungspool — Optimierung für den Massenversand.
Codebeispiel in TypeScript
Nachfolgend sehen Sie ein minimales Beispiel zum Senden einer E-Mail über Gmail SMTP mit TypeScript:
import nodemailer from 'nodemailer';
interface MailOptions { from: string; to: string; subject: string; text?: string; html?: string;}
async function sendEmail(options: MailOptions): Promise<void> { const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your@gmail.com', pass: 'your-app-password', }, });
const info = await transporter.sendMail(options); console.log('E-Mail gesendet:', info.messageId);}
// VerwendungsendEmail({ from: 'your@gmail.com', to: 'recipient@example.com', subject: 'Hallo aus TypeScript!', html: '<h1>Test-E-Mail</h1><p>Gesendet mit Nodemailer</p>',});Wichtig: Für Gmail müssen Sie ein App-Passwort (App Password) verwenden, nicht Ihr normales Passwort.
Wann sollte man Nodemailer verwenden?
Die Bibliothek eignet sich für:
- Registrierungs-E-Mails (E-Mail-Bestätigung, Passwort-Wiederherstellung).
- Bestellbenachrichtigungen in Online-Shops.
- Newsletter und Marketing-E-Mails (unter Verwendung von Warteschlangen).
- Automatische Berichte aus dem Backend (Logs, Fehler, Statistiken).
Wenn Sie in Ihrem TypeScript-Projekt E-Mails versenden müssen, bleibt Nodemailer aufgrund seiner Flexibilität, Zuverlässigkeit und der großen Community der De-facto-Standard.