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 TypeScript

Nodemailer ist das beliebteste Modul zum Versenden von E-Mails aus Node.js- und TypeScript-Anwendungen. Es ermöglicht die einfache Integration des E-Mail-Versands über SMTP und unterstützt HTML-Vorlagen, Anhänge, Streams und viele Transporte (Gmail, Yandex, SendGrid usw.). Die Bibliothek ist dank integrierter Typen vollständig mit TypeScript kompatibel.

Wozu braucht man Nodemailer?

In der modernen Webentwicklung wird der E-Mail-Versand benötigt für:

  • Registrierungsbestätigung (Verifizierung)
  • Passwort-Wiederherstellung
  • Benachrichtigungen und Newsletter
  • Systemalarme

Nodemailer vereinfacht diesen Prozess, indem es eine einheitliche API für alle E-Mail-Dienste bereitstellt.

Installation

npm install nodemailernpm install -D @types/nodemailer

Für TypeScript müssen Sie unbedingt das Paket mit den Typen installieren.

Hauptfunktionen

  • SMTP-Transport — Versand über jeden SMTP-Server (Gmail, Mail.ru, Yandex, AWS SES).
  • HTML und Text — Unterstützung sowohl für Plain-Text- als auch für HTML-E-Mails.
  • Anhänge — Dateien, Bilder, Buffer, Streams.
  • Vorlagen — Integration mit Handlebars, Pug und anderen.
  • Streams — Versand großer Dateien ohne Laden in den Arbeitsspeicher.
  • Verbindungspool — Leistungssteigerung bei Massenaussendungen.

Codebeispiel in TypeScript

import nodemailer from 'nodemailer';

interface MailOptions { to: string; subject: string; text?: string; html?: string;}

async function sendEmail(options: MailOptions): Promise<void> { // Transport erstellen (Beispiel für Gmail) const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'your-email@gmail.com', pass: 'your-app-password' } });

// E-Mail-Einstellungen const mailData = { from: 'your-email@gmail.com', to: options.to, subject: options.subject, text: options.text || '', html: options.html || undefined };

// Versand const info = await transporter.sendMail(mailData); console.log('E-Mail gesendet:', info.messageId);}

// VerwendungsendEmail({ to: 'user@example.com', subject: 'Hallo von TypeScript!', html: '<h1>Willkommen</h1><p>Dies ist eine Test-E-Mail.</p>'});

Wann sollte man Nodemailer verwenden

Die Bibliothek eignet sich für:

  • Alle Node.js/TypeScript-Projekte, die E-Mails versenden müssen.
  • Prototypen und MVPs — schnelle Einrichtung über Gmail.
  • Produktionssysteme — mit transaktionalen Diensten (SendGrid, Mailgun).
  • Mikrodienste und serverless (Lambda, Cloud Functions).

Es wird nicht empfohlen, Nodemailer für Massen-Spam-Kampagnen zu verwenden — dafür gibt es spezialisierte ESP (Email Service Providers).

Fazit

Nodemailer ist eine ausgereifte, stabile und gut dokumentierte Bibliothek. Dank der TypeScript-Typen erhalten Sie Autovervollständigung und Fehlerprüfung zur Kompilierungszeit. Es ist die ideale Wahl für den E-Mail-Versand im JavaScript/TypeScript-Ökosystem.

```

Empfehlungen