SMTP für Node.js — die Post Ihrer Anwendung, die ankommt
Node.js hat keine eingebaute Mailfunktion; fast alle Anwendungen nutzen dafür Nodemailer. Diese Bibliothek vereinfacht den Versand, sagt aber nichts über die Zustellbarkeit: Die hängt vollständig vom SMTP-Server ab, über den Sie senden.
Nodemailer arbeitet mit einem Transport. Sie erstellen einen SMTP-Transport mit den Daten Ihres Relays — Host, Port, Verschlüsselung und Zugangsdaten — und der Rest Ihres Codes bleibt unverändert. Was heute über einen lokalen Server oder ein Testkonto abgeht, läuft morgen über 2mail.
Warum es ohne Relay schiefgeht
Eine Node.js-Anwendung versendet E-Mails typischerweise in dem Moment, in dem es zählt: ein Verifizierungscode, ein Passwort-Zurücksetzen, eine Buchungsbestätigung. Das sind Nachrichten, die innerhalb von Sekunden erwartet werden. Gehen sie von einem Server ohne Reputation ab, kommt ein Teil nicht oder zu spät an — und der Benutzer klickt so lange auf „erneut senden“, bis er aufgibt.
SMTP in Node.js einrichten
Zugangsdaten abrufen
Melden Sie sich in Ihrem 2mail-Konto an und rufen Sie dort Ihren SMTP-Server, Benutzernamen und Ihr Passwort ab.
In Node.js eintragen
Erstellen Sie in Nodemailer einen SMTP-Transport. Geben Sie als Host den SMTP-Server von 2mail und als Port 587 an, und deaktivieren Sie die Option secure, damit die Verbindung über STARTTLS hochgestuft wird. Unter auth tragen Sie Benutzername und Passwort Ihrer 2mail-Zugangsdaten ein. Lesen Sie diese Daten aus Umgebungsvariablen, nicht aus dem Code. Nodemailer hat eine verify-Methode, um die Verbindung vor der ersten echten Nachricht zu prüfen — nutzen Sie sie.
Domain authentifizieren
Sorgen Sie dafür, dass SPF, DKIM und DMARC für Ihre Domain korrekt gesetzt sind, damit Empfänger verifizieren können, dass die Mail von Ihnen stammt.
Testen
Senden Sie eine Testnachricht an eine Adresse bei einem großen Provider und prüfen Sie, ob sie im Posteingang ankommt und nicht im Spam-Ordner.
Die Felder, die Node.js abfragt
Jede Plattform nennt sie etwas anders, aber es geht immer um dieselben fünf. Die konkreten Werte sind kontogebunden und finden Sie in Ihrem 2mail-Konto — rufen Sie sie dort ab, damit Sie sicher die richtigen verwenden.
| Feld | Was Sie eintragen |
|---|---|
| SMTP-Server (Host) | Der Servername aus Ihrem 2mail-Konto. |
| Port | Der Port, der zu Ihrer gewählten Verschlüsselung gehört; Ihr Konto zeigt, welcher. |
| Verschlüsselung | TLS. Senden Sie nie unverschlüsselt — sonst gehen Ihre Zugangsdaten lesbar über die Leitung. |
| Benutzername | Der SMTP-Login Ihres 2mail-Kontos. |
| Passwort | Das zugehörige Passwort. Verwenden Sie nie das Passwort eines Mitarbeiterpostfachs. |
Welche Mails Node.js sendet
Sobald das Relay eingerichtet ist, laufen diese alle über 2mail — Sie müssen sie nicht einzeln konfigurieren.
Stolperfallen bei Node.js
secure und Port müssen zusammenpassen
Die Option secure bedeutet nicht „sicher oder unsicher“, sondern „TLS ab dem ersten Byte“. Auf Port 587 muss secure deaktiviert sein — STARTTLS folgt danach. Aktivieren Sie sie trotzdem, bleibt die Verbindung hängen oder wird sofort getrennt, ohne klare Fehlermeldung.
Ein Transport, wiederverwendet
Erstellen Sie den Transport einmal beim Start und verwenden Sie ihn wieder, statt für jede Nachricht einen neuen anzulegen. Bei einer Spitze — ein Mahnlauf, eine Kampagne — öffnen Sie sonst Hunderte Verbindungen gleichzeitig, was ein Relay als Missbrauch werten kann. Nodemailer kann Verbindungen poolen; aktivieren Sie das bei größeren Volumen.
Warten Sie das Ergebnis ab und protokollieren Sie es
Der Versand ist asynchron. Wer die Antwort des Servers nicht abwartet oder nicht protokolliert, sieht nie, dass eine Nachricht abgewiesen wurde. Protokollieren Sie mindestens die Nachrichten-ID und eine eventuelle Ablehnung, und binden Sie am besten die Webhooks von 2mail für Zustellung und Bounces an, damit Sie auch sehen, was nach der Übergabe scheitert.
Andere Plattform?
SMTP ist ein Standardprotokoll: Jedes System, das SMTP spricht — ein CRM, ein ERP, eine eigene Anwendung oder ein Server —, kann über 2mail mit denselben fünf Feldern senden.