2mail — SMTP-Relay aus belgischer Infrastruktur

SMTP für Python — die Post Ihres Skripts oder Ihrer Django-App, die ankommt

Python bringt SMTP mit: Mit smtplib senden Sie eine Nachricht in wenigen Zeilen, und Django fasst das in einer eigenen Mail-Schicht mit EMAIL-Einstellungen zusammen. Was keines von beiden liefert, ist die Zustellbarkeit — die hängt vom Server ab, über den Sie senden.

Ob Sie ein eigenständiges Skript, eine Flask-App oder ein Django-Projekt haben: Die Einstellungen sind dieselben fünf Daten. Sie richten sie auf Ihr Relay, und der Code, der die Nachrichten baut, bleibt unverändert.

Warum es ohne Relay schiefgeht

Python-Post kommt oft aus dem Hintergrund: ein nächtlicher Bericht, ein Cron-Job, der Rechnungen versendet, ein Skript, das alarmiert, wenn ein Messwert aus dem Toleranzbereich fällt. Niemand schaut zu — und deshalb merkt niemand, dass der empfangende Server sie still abweist. Bei Django kommt die klassische Go-live-Überraschung hinzu: In der Entwicklung geht alles an die Konsole, in der Produktion an echte Anbieter, die Reputation sehr wohl prüfen.

SMTP in Python einrichten

1

Zugangsdaten abrufen

Melden Sie sich in Ihrem 2mail-Konto an und rufen Sie dort Ihren SMTP-Server, Benutzernamen und Ihr Passwort ab.

2

In Python eintragen

In einem Django-Projekt legen Sie die EMAIL-Einstellungen in den Settings fest: das SMTP-Backend als E-Mail-Backend, den Host des Relays, Port 587, die STARTTLS-Option aktiviert, Benutzername und Passwort sowie eine Standard-Absenderadresse auf Ihrer eigenen Domain. Wenn Sie direkt mit smtplib arbeiten, verbinden Sie sich mit dem Host auf Port 587, rufen starttls auf, melden sich mit Benutzername und Passwort an und senden dann die Nachricht. In beiden Fällen lesen Sie die Daten aus Umgebungsvariablen, nicht aus dem Code.

3

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.

4

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 Python 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.
PortDer Port, der zu Ihrer gewählten Verschlüsselung gehört; Ihr Konto zeigt, welcher.
VerschlüsselungTLS. Senden Sie nie unverschlüsselt — sonst gehen Ihre Zugangsdaten lesbar über die Leitung.
BenutzernameDer SMTP-Login Ihres 2mail-Kontos.
PasswortDas zugehörige Passwort. Verwenden Sie nie das Passwort eines Mitarbeiterpostfachs.

Welche Mails Python sendet

Sobald das Relay eingerichtet ist, laufen diese alle über 2mail — Sie müssen sie nicht einzeln konfigurieren.

Passwort-Zurücksetzen und Adressverifizierung aus Django
Geplante Berichte und Exporte aus Cron-Jobs
Alarme aus Monitoring- und Datenverarbeitungsskripten
Rechnungen und Bestätigungen aus einer Webanwendung
Fehlerberichte an die Administratoren

Stolperfallen bei Python

TLS-Option und Port müssen zusammenpassen

Django kennt zwei getrennte TLS-Einstellungen: eine für STARTTLS und eine für TLS von Anfang an. Aktivieren Sie nur die für STARTTLS, die zu Port 587 passt. Beide zugleich führen zu einem Konfigurationsfehler; keine von beiden sendet Ihre Zugangsdaten im Klartext, was ein Relay zu Recht ablehnt.

Eine Verbindung pro Serie, nicht pro Nachricht

Ein Skript, das für jede von tausend Nachrichten eine neue SMTP-Verbindung öffnet, verhält sich wie ein Angreifer. Öffnen Sie eine Verbindung, senden Sie die Serie, schließen Sie. Django hat dafür eine Funktion, die mehrere Nachrichten über eine einzige Verbindung sendet.

Stille Fehler in Hintergrundaufgaben

Eine Exception in einem Cron-Job verschwindet in einer Logdatei, die niemand liest. Fangen Sie Versandfehler ab und melden Sie sie dort, wo sie gesehen werden — und binden Sie die Webhooks von 2mail für Zustellung und Bounces an, damit Sie auch sehen, was nach der Übergabe scheitert.

SPF, DKIM & DMARC erklärt Über Zustellbarkeit

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.

Häufige Fragen zu SMTP für Python

smtplib und Django versenden, liefern aber keine Zustellbarkeit: Die hängt vom Server ab, über den Sie senden. Eine lokale Mailfunktion oder ein frischer Server hat weder Authentifizierung noch Reputation. Ein SMTP-Relay mit korrekten SPF-, DKIM- und DMARC-Einträgen löst das.
Das SMTP-Backend als E-Mail-Backend, den Host des Relays, Port 587, die STARTTLS-Option aktiviert, Ihren Benutzernamen und Ihr Passwort sowie eine Standard-Absenderadresse auf Ihrer eigenen Domain. Bewahren Sie die Zugangsdaten in Umgebungsvariablen auf, nicht in den Settings selbst.
Verbinden Sie sich mit dem Host auf Port 587, rufen Sie starttls auf, melden Sie sich mit Benutzername und Passwort an und senden Sie die Nachricht. Nutzen Sie für mehrere Nachrichten dieselbe Verbindung, statt pro Nachricht eine neue zu öffnen.
In Ihrem 2mail-Konto, pro Anwendung. Sie sind kontogebunden, deshalb veröffentlichen wir sie nicht auf der Website. Legen Sie pro Skript oder Anwendung am besten eigene Zugangsdaten an, damit Sie sie separat widerrufen und den Verkehr getrennt verfolgen können.
Jetzt anrufen
E-Mail senden