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: E-Mail-Versand mit JavaScript (Node.js)

Nodemailer ist das beliebteste Modul zum Versenden von E-Mails aus Node.js-Anwendungen. Es bietet eine einfache und flexible API für die Arbeit mit SMTP-Servern und unterstützt HTML-Vorlagen, Anhänge, Streaming sowie zahlreiche Transportwege (SMTP, Sendmail, Amazon SES und andere).

Wozu braucht man Nodemailer?

In Webanwendungen müssen oft E-Mails versendet werden: Registrierungsbestätigungen, Passwortzurücksetzungen, Benachrichtigungen, Newsletter. Nodemailer ermöglicht dies ohne überflüssige Abhängigkeiten, mit Unterstützung für OAuth2, SSL/TLS und Kodierungen. Es arbeitet asynchron und blockiert nicht die Event Loop.

Installation

Installieren Sie das Modul über npm:

npm install nodemailer

Für die Arbeit mit Gmail oder Yandex.Mail kann eine zusätzliche Konfiguration erforderlich sein (App-Passwort oder OAuth2).

Hauptfunktionen

  • Versand über SMTP, Sendmail, AWS SES, Mailgun, SendGrid
  • Unterstützung für HTML- und Text-E-Mails
  • Anhänge (Dateien, Bilder, Buffer, Stream)
  • OAuth2-Authentifizierung (Gmail, Outlook)
  • Verbindungspool für Massenversand
  • Vorlagen (Handlebars, EJS-Integration)

Codebeispiel in JavaScript (Node.js)

Ein einfaches Beispiel zum Versenden einer E-Mail über den Gmail-SMTP:

const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-app-password'
}
});

const mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Hallo von Node.js',
html: '<h1>Test-E-Mail</h1><p>Gesendet mit Nodemailer</p>'
};

transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('Fehler:', error);
} else {
console.log('E-Mail gesendet:', info.response);
}
});

Wann verwenden

Nodemailer eignet sich für jedes Node.js-Projekt, bei dem E-Mails versendet werden müssen: von einfachen Skripten bis hin zu Unternehmensanwendungen. Es ist stabil, gut dokumentiert und wird von Tausenden von Entwicklern unterstützt. Wenn Sie einen Massenversand (Newsletter) benötigen, verwenden Sie besser spezialisierte Dienste (SendGrid, Mailchimp) über deren API, aber für Transaktions-E-Mails ist Nodemailer die ideale Wahl.

Empfehlungen