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
```html

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 verschiedenen E-Mail-Diensten (SMTP, Gmail, Outlook, SendGrid und anderen). Die Bibliothek unterstützt HTML-Vorlagen, Anhänge, Streams sowie eine sichere Authentifizierung über OAuth2.

Wofür wird Nodemailer benötigt?

  • Versand von Transaktions-E-Mails (Registrierungsbestätigung, Passwort-Wiederherstellung).
  • Versand von Benachrichtigungen und Marketingkampagnen.
  • Integration mit Kontaktformularen auf der Website.
  • Automatischer Versand von Berichten und Logs.

Installation

Installieren Sie das Modul über npm:

npm install nodemailer

Hauptfunktionen

  • Transport — Konfiguration eines SMTP-Servers oder Verwendung integrierter Transporter (Gmail, Mailgun, SendGrid).
  • E-Mail-Formatierung — Unterstützung von HTML, Text, Anhängen (Dateien, Bilder, PDFs).
  • Streams — Möglichkeit, große Dateien zu senden, ohne sie in den Speicher zu laden.
  • OAuth2 — Sichere Authentifizierung für Gmail und andere Anbieter.
  • Verbindungspool — Leistungsoptimierung beim Massenversand.

JavaScript (Node.js) Codebeispiel

const nodemailer = require('nodemailer');

// Transport konfigurieren (Verwendung von Gmail)
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-password' // oder verwenden Sie ein App-Passwort
}
});

// E-Mail-Parameter
const mailOptions = {
from: 'your-email@gmail.com',
to: 'recipient@example.com',
subject: 'Hallo von Nodemailer!',
html: '<h1>Dies ist eine Test-E-Mail</h1><p>Gesendet über Node.js.</p>',
attachments: [{
filename: 'document.pdf',
path: './files/document.pdf'
}]
};

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

Wann sollte Nodemailer verwendet werden?

Die Bibliothek eignet sich für jedes Node.js-Projekt, das E-Mail-Versand erfordert: von kleinen Blogs bis hin zu Unternehmenssystemen. Nodemailer lässt sich einfach in Frameworks (Express, Koa) und Cloud-Dienste integrieren. Wenn Sie E-Mails mit Anhängen, HTML-Layout oder über OAuth2 versenden müssen, ist dies die beste Wahl.

Hinweis: Für die Produktion wird empfohlen, spezialisierte Dienste (SendGrid, Amazon SES) oder SMTP-Relays zu verwenden, um Blockaden zu vermeiden. Nodemailer unterstützt alle gängigen Anbieter.

```

Empfehlungen