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

Nodemailer-Bibliothek: E-Mails mit JavaScript (Node.js) versenden

Nodemailer ist das beliebteste Modul zum Versenden von E-Mails aus Node.js-Anwendungen. Es bietet eine einfache, aber leistungsstarke API für die Arbeit mit verschiedenen E-Mail-Diensten (SMTP, Gmail, Outlook, SendGrid, Amazon SES usw.). Die Bibliothek unterstützt HTML-Vorlagen, Anhänge, Datenströme sowie Verschlüsselung (SSL/TLS).

Wofür wird Nodemailer benötigt?

In der modernen Webentwicklung ist das Versenden von E-Mails eine grundlegende Funktion: Registrierungs-E-Mails, Passwort-Zurücksetzen, Benachrichtigungen, Newsletter. Nodemailer löst die folgenden Aufgaben:

  • Universelle Arbeit mit jedem SMTP-Server.
  • Unterstützung für HTML- und Textnachrichten.
  • Anhänge (Bilder, PDFs, Archive).
  • Streaming großer Datenmengen.
  • Integration mit beliebten Diensten (Gmail, Yandex, Mail.ru).

Installation

Installieren Sie das Modul über npm:

npm install nodemailer

Für TypeScript zusätzlich:

npm install @types/nodemailer

Hauptfunktionen

  • createTransport() — Erstellen eines Transports zur Verbindung mit dem E-Mail-Server.
  • sendMail() — Versenden einer E-Mail mit Einstellungen (Von, An, Betreff, Inhalt, Anhänge).
  • verify() — Überprüfung der Verbindung zum Server.
  • use() — Einbinden von Plugins (z. B. für Templating).

Beispielcode in Node.js

const nodemailer = require('nodemailer');

// Transport konfigurieren (Beispiel für Gmail mit App-Passwort)const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your-email@gmail.com', pass: 'your-app-password' // Kein normales Passwort, sondern ein App-Passwort }});

// Funktion zum Senden einer E-Mailasync function sendEmail() { try { const info = await transporter.sendMail({ from: '"Your Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: 'Hallo von Node.js!', html: '<h1>Test-E-Mail</h1><p>Gesendet mit Nodemailer.</p>' }); console.log('E-Mail gesendet: %s', info.messageId); } catch (error) { console.error('Fehler beim Senden:', error); }}

sendEmail();

Wann sollte Nodemailer verwendet werden?

  • Registrierung und Authentifizierung — Versenden von E-Mails zur Bestätigung der E-Mail-Adresse.
  • Benachrichtigungen — Mitteilungen über Benutzeraktionen (Bestellung, Kommentar).
  • Newsletter — Massenversand (für große Mengen besser SendGrid/Mailgun verwenden).
  • Debugging — Versenden von E-Mails in der lokalen Umgebung (über Ethereal oder Mailtrap).

Wichtig: Verwenden Sie für die Produktion echte SMTP-Server (SendGrid, Amazon SES, Mailgun) oder konfigurieren Sie Ihren eigenen E-Mail-Server. Gmail hat Limits (500 E-Mails/Tag) und erfordert ein App-Passwort.

Nodemailer ist der De-facto-Standard für den E-Mail-Versand in Node.js. Es ist einfach, zuverlässig und hat eine große Community.

Empfehlungen