Die Bibliothek nodemailer zum Versenden von E-Mails mit TypeScript
nodemailer ist eine leistungsstarke und beliebte Bibliothek für Node.js, die in TypeScript geschrieben ist und das einfache Versenden von E-Mails aus Serveranwendungen ermöglicht. Sie unterstützt alle modernen Protokolle (SMTP, SES, Sendmail) und E-Mail-Formate (HTML, Text, Anhänge).
Wofür wird nodemailer benötigt?
In der Webentwicklung ist es oft erforderlich, Benachrichtigungen, Registrierungsbestätigungen, Passwort-Zurücksetzungen oder Marketing-Newsletter zu versenden. nodemailer löst diese Aufgabe, indem es eine einfache und flexible API für die Arbeit mit Mailservern bereitstellt. Dank der TypeScript-Typisierung wird der Code zuverlässiger und vorhersagbarer.
Installation
Installieren Sie das Paket über npm oder yarn:
npm install nodemailernpm install -D @types/nodemailerFür TypeScript müssen Sie unbedingt das Paket mit den Typen installieren.
Hauptfunktionen
- SMTP-Unterstützung — Arbeit mit jedem SMTP-Server (Gmail, Yandex, Mailgun, SendGrid).
- HTML- und Text-E-Mails — Sie können sowohl einfachen Text als auch formatierte HTML-Nachrichten versenden.
- Anhänge — Unterstützung für Dateien, Bilder und Inline-Anhänge.
- Streams — Möglichkeit, große Dateien über Streams zu versenden.
- Sicherheit — Unterstützung für TLS/SSL, OAuth2.
- Verbindungspool — Optimierung für den Massenversand.
Codebeispiel in TypeScript
Ein einfaches Beispiel zum Versenden einer E-Mail über Gmail SMTP:
import nodemailer from 'nodemailer';
async function sendEmail() { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // true für 465 auth: { user: 'your-email@gmail.com', pass: 'your-password', }, });
const info = await transporter.sendMail({ from: '"Sender Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Hallo aus TypeScript!', text: 'Dies ist der E-Mail-Text.', html: '<b>Dies ist eine HTML-E-Mail</b>', });
console.log('E-Mail gesendet:', info.messageId);}
sendEmail().catch(console.error);Wann nodemailer verwenden
Die Bibliothek ist ideal geeignet für:
- Backend-Anwendungen auf Node.js/Express/NestJS.
- Automatische Benachrichtigungen (Registrierung, Bestellungen, Fehler).
- Bestätigung von E-Mail-Adressen.
- Versand von Transaktions-E-Mails.
- Integration mit beliebigen SMTP-Anbietern.
Wenn Sie E-Mails mit Anhängen, HTML-Vorlagen oder über externe Dienste (SendGrid, Mailgun) versenden müssen, ist nodemailer der De-facto-Standard im Node.js-Ökosystem.
Wichtig: Verwenden Sie für die Produktion Umgebungsvariablen zum Speichern von Passwörtern und zur Konfiguration von OAuth2, um keine Anmeldedaten im Code offenzulegen.
Auch in der Bibliothek
AutoMapper für C# (.NET): Vollständiger Leitfaden mit Beispielen
HTTP-Client für Go (Golang): Top-Bibliotheken für die Arbeit mit HTTP
Konfiguration von C++-Anwendungen: Bibliotheken und Ansätze
Arbeiten mit CSV in C++: Bibliotheken und Codebeispiele