nodemailer

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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-dev

Hauptfunktionen

  • 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/catch ist obligatorisch.

Nodemailer ist der De-facto-Standard für den E-Mail-Versand in TypeScript. Leichtgewichtig, zuverlässig und mit einer hervorragenden Dokumentation.

Empfehlungen