README.de.md

August 30, 2026 · View on GitHub

ZeroSMTP

Alles für die Abschaltung von SMTP AUTH in Microsoft 365.
Finden Sie heraus, was in Ihrem Tenant ausfällt, prüfen Sie, ob es für Ihre Hardware einen Ausweg gibt, und halten Sie den Mailversand am Laufen — inklusive eines kostenlosen Relays für Geräte, die niemals OAuth sprechen werden.
Das Relay ist kostenlos ohne Bezahlvariante, auf 200 Nachrichten/Tag begrenzt und versendet von einer gemeinsam genutzten @msgwing.com-Adresse statt von Ihrer eigenen (warum).

mx.msgwing.com Status Countdown Exchange Online Basic Auth Lint examples 21 einsatzfertige Beispiele Lizenz: MIT

Countdown Exchange Online Basic Auth (SMTP AUTH)

Kostenloses Konto anlegen → · Migration von Exchange Online → · Dokumentation · Schnellstart · Codebeispiele · FAQ · English · Polski

Was hier drin ist

1. Tenant prüfenFind-SmtpAuthExposure.ps1 — nur lesend. Meldet jedes Postfach, das noch SMTP AUTH nutzen kann, und zählt dabei diejenigen gesondert, die die Tenant-Einstellung erben. Der übliche Einzeiler mit -eq $false übersieht genau diese und kann null melden, obwohl der gesamte Tenant offen steht.
2. Hardware prüfenKompatibilitätsliste — maschinenlesbar, gestützt auf data/devices.json. Welche Modelle OAuth-Firmware bekommen und welche der Hersteller ausgeschlossen hat, jeweils mit Link auf die Herstellermitteilung.
3. Versand am Laufen haltenEin kostenloses SMTP-Relay, das weiterhin Benutzername und Passwort akzeptiert — mit 21 Codebeispielen in 19 Sprachen, Rezepten für Ansible und Docker Compose und Druckereinrichtung nach Hersteller.

Dazu was die einzelnen Fehlermeldungen tatsächlich bedeuten und ein Migrationsleitfaden, der Graph API, Direct Send und kostenpflichtige Relays behandelt — nicht nur dieses hier.

Bekommen Sie 535 5.7.139 Authentication unsuccessful, basic authentication is disabled? Das ist Microsoft, das Basic Auth für SMTP AUTH abschaltet — fangen Sie hier an. Drei der vier Ursachen lassen sich bis Ende Dezember 2026 noch rückgängig machen.

Wann genau ändert sich das? Dem datierten Zeitplan folgen — eine E-Mail pro bestätigter Änderung, sonst nichts. Dezember 2026 ist die Abschaltung per Voreinstellung, nicht die Entfernung; das endgültige Datum kündigt Microsoft in der zweiten Jahreshälfte 2027 an.


curl --url "smtps://mx.msgwing.com:465" \
  --user "$ZEROSMTP_USERNAME:$ZEROSMTP_PASSWORD" \
  --mail-from "$ZEROSMTP_FROM" --mail-rcpt "$ZEROSMTP_TO" \
  --upload-file <(printf 'Subject: Test\r\n\r\nHello from ZeroSMTP!') --ssl-reqd

Mehr ist es nicht — kein SDK, kein API-Schlüssel, nur SMTP-Zugangsdaten, die mit allem funktionieren, was bereits SMTP spricht.

Servermx.msgwing.com
Port587 (STARTTLS) oder 465 (SSL/TLS)
LoginIhre zufällig erzeugte @msgwing.com-Adresse
Kostenkostenlos — bis zu 200 E-Mails/Tag (Limits)
HakenDer Versand erfolgt von @msgwing.com, nicht von Ihrer eigenen Domain (warum)

Schnellstart

  1. Legen Sie auf msgwing.com ein kostenloses Konto an, aktivieren Sie es und kopieren Sie den zufällig erzeugten @msgwing.com-Login samt Passwort.
  2. Kopieren Sie .env.example nach .env und tragen Sie Ihre Zugangsdaten ein.
  3. Führen Sie den curl-Befehl von oben aus (vorher export $(grep -v '^#' .env | xargs)) oder wählen Sie Ihre Sprache aus der Tabelle Codebeispiele — jedes Beispiel liest dieselben .env-Variablen.
  4. Klappt etwas nicht? Siehe Fehlermeldungen · Fehlersuche — die meisten Fehlschläge beim ersten Versuch sind ein Cloud-Anbieter, der ausgehende SMTP-Ports blockiert, keine falsche Konfiguration.

Sie möchten lokal nichts installieren? Jede unten verwendete Laufzeitumgebung (Python, PHP, Node, Ruby, Go, Java, Kotlin/Gradle, .NET, Rust) ist im mitgelieferten Dev Container / Codespace bereits vorinstalliert. In GitHub Codespaces öffnen

Verbindungsprüfung gegen mx.msgwing.com

Warum ZeroSMTP?

  • Nichts zu betreiben und nichts zu bezahlen. Kein Mailserver, kein API-Schlüssel, keine Kreditkarte, keine Preisstufe, in die man hineinwächst.
  • Funktioniert mit allem, was bereits SMTP spricht — Anwendungen, Skripte, Netzwerkdrucker, NAS-Geräte, IoT-Hardware. Wenn es ein Feld „SMTP-Server" gibt, funktioniert es.
  • Einfaches SMTP AUTH wird weiterhin akzeptiert. Kein OAuth2-Flow zu implementieren — genau darum geht es bei alten Geräten, die nie ein Firmware-Update bekommen werden.
  • Verwaltete Reputation. Konten werden zufällig auf einer Domain erzeugt, die aktiv auf Missbrauch überwacht wird; Sie müssen also keine eigene IP „warmlaufen" lassen.
  • 21 Beispiele zum Kopieren in 19 Sprachen, die alle dieselben Umgebungsvariablen lesen, dazu Rezepte für Ansible und Docker Compose sowie Anleitungen für Windows Server, Linux und Drucker nach Hersteller.
  • Nachprüfbar erreichbar — das Status-Badge oben ist eine echte Prüfung, die alle 6 Stunden gegen mx.msgwing.com läuft, kein statisches Bild.

Geeignet für: Kontaktformulare · Passwort-Zurücksetzungen · Meldungen aus CI/CD und Monitoring · Scan-to-E-Mail · Benachrichtigungen von IoT und Geräten · Homelabs.

⚠️ Verlieren Sie SMTP AUTH in Exchange Online / Microsoft 365?

Microsoft deaktiviert die Basisauthentifizierung für SMTP AUTH standardmäßig Ende Dezember 2026. Drucker, NAS-Geräte, Sicherungsaufträge und Monitoring-Werkzeuge, die kein OAuth beherrschen, stellen den Versand ein — und ausgerechnet die alarmierenden Systeme scheitern lautlos. Sie merken es also während des Vorfalls, vor dem sie hätten warnen sollen.

Migrationsleitfaden → behandelt alle Optionen (Graph API, Direct Send, Relay im eigenen Netz, kostenpflichtige Dienste), nicht nur diese. Was ausfällt → ist die Prüfliste, einschließlich der Modelle, für die der Hersteller bereits erklärt hat, dass keine OAuth-Firmware kommt.

Führen Sie Find-SmtpAuthExposure.ps1 aus, um die Antwort für Ihren eigenen Tenant zu bekommen. Nur lesend — und es zählt die Postfächer mit, die die Tenant-Einstellung erben, also genau die, die der übliche Einzeiler übersieht.

Einrichtungsanleitungen: Netzwerkdrucker · Verbreitete Anwendungen · Linux (Debian/Ubuntu/Rocky/Fedora/openSUSE) · Systemweites Mail-Relay (Postfix/msmtp/Exim4) · Windows Server · Migration von Exchange Online SMTP AUTH · Monitoring-Meldungen · OAuth-Kompatibilitätsliste · Keine OAuth-Firmware geplant · Fallbeispiele zu Geräten · Fehlersuche · Zuverlässigkeit (Wiederholversuche) · im Vergleich zu anderen kostenlosen Relays · FAQ

Wie schneidet das gegenüber anderen Optionen ab?

ZeroSMTPGmail SMTP-RelayAmazon SESMailgun / SendGrid / Brevo (typischer kostenloser Tarif)
KostenKostenlos, keine Karte nötigKostenlos (privates Google-Konto)Abrechnung pro E-Mail (ein begrenztes Freikontingent gilt nur von AWS EC2 aus, in den ersten 12 Monaten)Kostenloser Tarif, meist niedrig gedeckelt und an Registrierung + Domainprüfung gebunden
EinrichtungRegistrieren, SMTP-Zugangsdaten kopieren, fertigErfordert ein Google-Konto; Googles Nutzungsbedingungen raten von automatisiertem Massenversand darüber abErfordert ein AWS-Konto und einen Antrag auf „Production Access", bevor an ungeprüfte Adressen versendet werden darfRegistrierung + Domainprüfung für den vollen Funktionsumfang
Eigene AbsenderdomainNein — immer @msgwing.com (siehe FAQ)Ja, Ihre Gmail-/Workspace-AdresseJaJa, sobald Ihre Domain geprüft ist
Passt am besten zuKontaktformulare, Passwort-Zurücksetzungen, Benachrichtigungen, Drucker/IoT — überall dort, wo die Absenderadresse nicht Ihre eigene Domain sein mussSkripte mit geringem Volumen im privaten UmfeldProduktivanwendungen, die es brauchen und den AWS-Aufwand tragen könnenUnternehmen, die markengebundenen Versand brauchen und den Aufwand tragen können

Die Bedingungen der kostenlosen Tarife ändern sich mit der Zeit — prüfen Sie die aktuelle Preisseite des jeweiligen Anbieters, bevor Sie sich festlegen.

Was ist mit einem eigenen Mailserver?

Verbreitete selbst gehostete Lösungen wie docker-mailserver, Mailu oder mailcow geben Ihnen ein Postfach auf der eigenen Domain und volle Kontrolle — aber Sie sind derjenige, der Postfix, DKIM/SPF/DMARC, Spamfilterung sowie IP- und Domain-Reputation betreibt. Das ist laufender Aufwand, keine einmalige Einrichtung. ZeroSMTP steht am anderen Ende dieses Kompromisses: null Einrichtung und null Wartung, dafür Versand von der gemeinsam genutzten Adresse @msgwing.com statt von Ihrer eigenen Domain. Wenn Sie eine dieser Lösungen bereits betreiben und sie funktioniert, gibt es keinen Grund zu wechseln. Wenn Sie für ein Skript, ein Kontaktformular oder ein Nebenprojekt noch nicht sicher sind, ob sich der Aufwand lohnt, kostet ZeroSMTP nichts, um es zuerst auszuprobieren.

GitHub Actions

Sie nutzen ZeroSMTP aus einem Workflow heraus (Meldungen über fehlgeschlagene Builds, Deploy-Benachrichtigungen, geplante Berichte)? msgwing/send-email-action auf dem GitHub Marketplace fasst die untenstehende Einrichtung in einem Schritt zusammen:

- uses: msgwing/send-email-action@v1
  with:
    username: ${{ secrets.ZEROSMTP_USERNAME }}
    password: ${{ secrets.ZEROSMTP_PASSWORD }}
    from: ${{ secrets.ZEROSMTP_USERNAME }}
    to: you@example.com
    subject: "Build failed"
    body: "See the run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"

Codebeispiele

Einsatzfertige, produktionstaugliche Beispiele für mx.msgwing.com:465 (SSL/TLS) oder :587 (STARTTLS), eine Datei je Sprache:

SpracheDatei
Pythonpython-zerosmtp.py
PHP (PHPMailer)php-zerosmtp.php
PHP (Symfony Mailer)php-symfony-mailer-zerosmtp.php
Node.jsnode-zerosmtp.mjs
TypeScriptts-zerosmtp.ts
Bash (curl)bash-curl-zerosmtp.sh
Bash (swaks)bash-swaks-zerosmtp.sh
Javajava-zerosmtp.java
C# (.NET / MailKit)cs-zerosmtp.cs
Gogo-zerosmtp.go
Rubyruby-zerosmtp.rb
Rustrust-zerosmtp.rs
Kotlinkotlin-zerosmtp.kt
Elixirelixir-zerosmtp.exs
Lualua-zerosmtp.lua
Perlperl-zerosmtp.pl
C (libcurl)c-zerosmtp.c
Dartdart-zerosmtp.dart
Zig (libcurl)zig-zerosmtp.zig
Swiftswift-zerosmtp.swift
PowerShellpwsh-zerosmtp.ps1

Jedes Beispiel liest die Zugangsdaten aus den Umgebungsvariablen ZEROSMTP_* (ZEROSMTP_USERNAME, ZEROSMTP_PASSWORD, ZEROSMTP_FROM, ZEROSMTP_TO, ZEROSMTP_SUBJECT) — schreiben Sie echte Zugangsdaten niemals fest in ein Skript.

Rezepte für das Ausrollen

Nicht jede Migration ist eine Codeänderung. Zwei der Orte, an denen SMTP-Einstellungen tatsächlich liegen:

RezeptDateiWas es tut
Ansibleansible-zerosmtp.ymlRichtet den Systemmailer einer ganzen Maschinenflotte (cron, unattended-upgrades, systemd OnFailure=) über msmtp auf das Relay aus. Idempotent; die Zugangsdaten kommen über -e oder ansible-vault, nie aus der Datei selbst.
Docker Composedocker-compose-zerosmtp.ymlVersendet eine Nachricht aus einem Container und liest dafür .env. Nützlich, um die Zugangsdaten aus genau dem Netz heraus zu prüfen, in dem die echte Anwendung läuft.

Abhängigkeiten installieren

Zu jedem Beispiel, das eine Fremdbibliothek braucht, liegt im Wurzelverzeichnis eine passende Manifestdatei. Sie installieren also mit dem üblichen Befehl des jeweiligen Ökosystems, statt Bibliotheksnamen und Versionen selbst zusammenzusuchen:

Sprache(n)Installation mit
Node.js / TypeScriptnpm install
PHPcomposer install
Rustcargo build (lädt Abhängigkeiten automatisch)
C#dotnet build cs-zerosmtp.csproj
Javamvn compile
Kotlingradle build
Swiftswift build
Zigzig build-exe zig-zerosmtp.zig -lc -lcurl (benötigt die libcurl-Header)
Python, Ruby, Go, Bash, PowerShellkeine — nur Standardbibliothek

Konfigurationsdaten:

  • Login: zufällig erzeugte Adresse @msgwing.com
  • SMTP-Server: mx.msgwing.com
  • Port: 587 (STARTTLS) oder 465 (SSL/TLS)
  • Verschlüsselung: SSL/TLS — erforderlich

Wir respektieren Ihre Privatsphäre — Ihre Daten werden nicht für Marketing- oder sonstige kommerzielle Zwecke verarbeitet.

Sicherheit und Zustellbarkeit

Was wir tun:

  • SPF, DKIM und DMARC (p=reject) sind für msgwing.com korrekt ausgerichtet — prüfen Sie es selbst: dig txt msgwing.com, dig txt _dmarc.msgwing.com.
  • Konten, die den Relay missbrauchen, werden aktiv entfernt (siehe FAQ).
  • Der Versand ist pro Konto ratenbegrenzt, damit die Reputation der gemeinsamen Domain für alle gut bleibt (siehe Versandlimits).

Was wir nicht versprechen: eine gemeinsame Domain bedeutet ein gemeinsames Risiko. Kein einzelnes Konto kontrolliert die Reputation des gesamten Pools — anders als bei einer eigenen Domain, wo nur Sie sie beschädigen können. Muss die Post von Ihrer eigenen Domain kommen, ist ZeroSMTP das falsche Werkzeug — siehe Alternativen.

Was wir nicht offenlegen, und warum: siehe SECURITY.md.

Selbst nachprüfen

Glauben Sie uns nicht einfach — testen Sie es mit mail-tester.com:

  1. Legen Sie auf msgwing.com ein kostenloses SMTP-Konto an
  2. Verwenden Sie unser PowerShell-Testskript: SendEmailTest_mail-tester.com.ps1
  3. Lassen Sie sich auf mail-tester.com eine zufällige Adresse erzeugen und senden Sie eine Testnachricht von Ihrer @msgwing.com-Adresse
  4. Sehen Sie sich die Bewertung und die ausführliche Analyse an

Bei Fragen erreichen Sie uns unter: abuse@msgwing.com

Die Registrierung finden Sie unter: https://msgwing.com

Star History

GitHub stars