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 nodemailerHauptfunktionen
- 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.
```Auch in der Bibliothek
Bouncy Castle Java: Vollständige Anleitung mit Beispielen
TypeORM für TypeScript: vollständige Anleitung mit Beispielen
multierr Go: vollständige Anleitung mit Beispielen