E-Mail-Versand mit TypeScript: Die Bibliothek nodemailer
Nodemailer ist das beliebteste Modul zum Versenden von E-Mails aus Node.js und TypeScript. Es ermöglicht den E-Mail-Versand über SMTP sowie über integrierte Transportdienste (SendGrid, Mailgun und andere). Die Bibliothek unterstützt TypeScript vollständig (einschließlich Typisierung) und arbeitet sowohl mit Text- als auch mit HTML-E-Mails, Anhängen und Verschlüsselung.
Wofür wird nodemailer benötigt?
- Versand von Transaktions-E-Mails (Registrierungsbestätigung, Passwort-Wiederherstellung).
- Versand von Benachrichtigungen (z. B. nach einer Bestellung auf einer Website).
- Integration mit Kontaktformularen.
- Automatisierung von Berichten (tägliche Daten-Dumps).
Installation
npm install nodemailernpm install @types/nodemailer --save-devHauptfunktionen
- SMTP-Transport — Konfiguration über jeden SMTP-Server (Gmail, Yandex, Mail.ru).
- Unterstützung für HTML und Text — Es können sowohl Plain-Text- als auch schöne HTML-Vorlagen versendet werden.
- Anhänge — Dateien, Bilder, PDFs.
- Streaming — Versand großer Dateien ohne Laden in den Arbeitsspeicher.
- Typisierung — Vollständige TypeScript-Unterstützung (Schnittstellen für Optionen).
Codebeispiel in 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({ host: 'smtp.gmail.com', port: 587, secure: false, auth: { user: 'your-email@gmail.com', pass: 'your-app-password' } });
const info = await transporter.sendMail(options); console.log('Email sent:', info.messageId);}
// VerwendungsendEmail({ from: 'noreply@example.com', to: 'user@example.com', subject: 'Hello from TypeScript', html: '<h1>Welcome!</h1><p>This is a test email.</p>'});Wann sollte nodemailer verwendet werden?
Die Bibliothek ist ideal für Serveranwendungen auf Node.js/TypeScript, insbesondere in Kombination mit Express, Next.js oder Nest.js. Wenn Sie den E-Mail-Versand schnell und ohne komplexe Konfigurationen einrichten müssen, ist nodemailer die beste Wahl. Sie eignet sich auch für Microservices und Hintergrundaufgaben (z. B. mit Bull oder Agenda).
Wichtige Hinweise
- Verwenden Sie für Gmail ein App-Passwort (nicht Ihr Hauptpasswort).
- Verwenden Sie für die Produktion Umgebungsvariablen (z. B.
process.env.SMTP_PASS). - Vergessen Sie nicht die Fehlerbehandlung:
try/catchist obligatorisch.
Nodemailer ist der De-facto-Standard für den E-Mail-Versand in TypeScript. Leichtgewichtig, zuverlässig und mit einer hervorragenden Dokumentation.
Auch in der Bibliothek
Mikro-ORM für TypeScript: Komplettes Tutorial mit Beispielen
OAuth-Client für Node.js: Implementierung der Autorisierung über Google und GitHub
Arbeiten mit Excel in C# (.NET): Bibliotheken EPPlus, ClosedXML und NPOI
PDF-Berichte in C++ mit libharu und PoDoFo generieren
Rust-Anwendungsüberwachung: Die Bibliothek `tracing`