Was SMTPly macht — im Detail

SMTPly besteht aus zwei Komponenten: einem schlanken Windows-Dienst, der die Mails annimmt und weiterleitet, und einer WPF-Konfigurations-GUI, die dem Admin die Einrichtung und das Monitoring abnimmt.

Der Windows-Dienst

Läuft als Systemdienst unter LocalSystem. Kein Login nötig, kein Benutzer-Desktop, kein Tray-Icon im Weg. Der Dienst startet automatisch mit Windows und arbeitet im Hintergrund.

  • SMTP-Listener auf Port 25 oder 587, optional STARTTLS
  • In-Memory-Queue mit Disk-Persistenz bei größeren Rückstaus
  • OAuth2-Token-Management via MSAL.NET
  • Microsoft Graph Mail.Send Application Permission
  • Eigener Named-Pipe-Server für Live-Kommunikation mit der GUI
  • Strukturiertes Logging via Serilog (Datei + IPC-Stream)
Dienstname: Smtply
Konto: LocalSystem
Starttyp: Automatisch
Port: 25 / 587
 
→ SMTP-Listener
    ↓
→ Relay-Queue + Retry
    ↓
→ Graph /sendMail (OAuth2)

Die Konfigurations-GUI

Moderne WPF-Anwendung mit Fluent Design. Komplett lokalisiert in Deutsch und Englisch, mit einem geführten Setup-Wizard für die Erstinstallation.

  • Dashboard — Live-Status, Statistiken, Mail-Tracker als DataGrid
  • System-Log — Echtzeit-Stream aller Serilog-Events, mit Pause/Filter/Level
  • Einstellungen — Microsoft 365, SMTP, STARTTLS, IP-Whitelist, Datenschutz, Retention
  • Lizenz — Aktivierung, Re-Verify, Deaktivierung (Hardware-Freigabe)
  • Backup / Import — Einstellungen als JSON exportieren und auf neuen Server übertragen
SMTPly Dashboard SMTPly Dashboard

Typische Einsatzbereiche

Jedes Gerät oder System, das kein OAuth2 für den E-Mail-Versand beherrscht, kann SMTPly als SMTP-Gateway nutzen.

🖨️

Drucker & Scanner

Multifunktionsdrucker und Dokumentenscanner mit "Scan-to-Mail"-Funktion verwenden häufig noch klassisches SMTP ohne OAuth2-Unterstützung.

🏭

ERP-Systeme

Viele ERP-Lösungen (z.B. Sage, Lexware, Infor, ältere SAP-Installationen) versenden Belege, Auftragsbestätigungen und Rechnungen per SMTP ohne OAuth2.

🏨

Hotellerie & Gastronomie

Hotelmanagementsysteme wie Oracle Fidelio Suite 8, Opera und andere PMS-Lösungen versenden Reservierungsbestätigungen, Rechnungen und Berichte per SMTP — ohne OAuth2-Unterstützung.

📋

CRM & DMS

CRM-Software und Dokumentenmanagementsysteme, die Benachrichtigungen, Berichte oder Workflows per E-Mail versenden, greifen oft auf plain SMTP zurück.

📊

Monitoring & Alerting

Backup-Lösungen, Server-Monitoring, PRTG, Zabbix, Check_MK und ähnliche Tools versenden Alarm-E-Mails standardmäßig per SMTP.

⚙️

Eigenentwicklungen & Scripte

Interne .NET-, Python- oder PowerShell-Anwendungen, Batch-Prozesse und Automatisierungen, die SMTP zum Versand nutzen und nicht einfach umgebaut werden können.

🏥

Fachsoftware

Branchensoftware aus Medizin, Recht oder Handwerk, die auf herstellerseitige Updates wartet — oder schlicht nie OAuth2 erhalten wird.

Screenshots

Die Oberfläche in Light- und Dark-Mode — so sieht SMTPly im Einsatz aus.

Dashboard & Mail-Tracker

Dashboard Light Dashboard Dark

Einstellungen – Microsoft 365

Einstellungen Light Einstellungen Dark

System-Log

System-Log Light System-Log Dark

Lizenz

Lizenz Light Lizenz Dark

Kern-Features

📬

Mail-Tracker

Tabellarische Live-Ansicht aller E-Mails mit Zeit, Absender, Empfänger, Betreff, Größe, Quelle-IP und Status. Klick auf eine Zeile öffnet die vollständige SMTP-Konversation und den Graph-Response.

🔄

Intelligente Retries

Bei HTTP 429 (Rate Limit), 503 oder Netzwerkfehlern wird die Mail mit Exponential-Backoff erneut versendet. Bei 401 wird das OAuth-Token refreshed und sofort wiederholt.

🛡️

STARTTLS

Optional für eingehende SMTP-Verbindungen. Selbstsigniertes Zertifikat kann in der GUI generiert werden, oder eigene PEM/PFX-Dateien einbinden — inkl. Let's-Encrypt-Kombi.

🌐

IP-Whitelist

Relay nur für vertraute Quellen. CIDR-Ranges wie 10.0.0.0/24 möglich. Im offenen Modus loggen wir jede IP-Verbindung für Audit-Zwecke mit.

📧

Absender-Whitelist

Nur definierte Domains dürfen als MAIL FROM durchgehen. Alternativ: Override-Modus — SMTPly ersetzt den MAIL FROM durch Ihre zentrale Relay-Adresse.

🔐

Client Secret Safety

Azure Client Secret wird DPAPI-verschlüsselt unter %ProgramData%\Smtply\ abgelegt. Nur der lokale Dienst-Account kann entschlüsseln. Warnung bei Ablauf < 14 Tagen.

📊

Privacy-Masking

Mail-Adressen und Betreff können im Tracker maskiert werden (m**l@e*****e.com). Body und Anhänge werden grundsätzlich nicht gespeichert — nur Metadaten.

🗃️

Retention-Kontrolle

Log-Dateien und Mail-Tracker-DB haben getrennt konfigurierbare Aufbewahrungszeiten (7 / 14 / 30 / 90 Tage oder „Nicht speichern" / „Unbegrenzt"). DSGVO-freundliche Defaults.

🔁

Backup & Import

Komplette Konfiguration als JSON exportieren — Secrets bleiben DPAPI-geschützt. Oder Passphrase-verschlüsselt via PBKDF2 + AES-256-GCM für Umzug auf anderen Server.

📧

Nutzungs-Reports per E-Mail

Täglich, wöchentlich oder monatlich: kompakter HTML-Bericht mit Gesamtzahlen (Sent / Failed / Rejected), durchschnittlicher Versanddauer, Top-Absendern, Top-Empfänger-Domänen und häufigsten Fehlerursachen. Empfänger frei konfigurierbar, Frequenz wählbar, komplett abschaltbar.

🔔

Secret-Ablauf-Warnung

Azure Client Secrets laufen nach 6, 12 oder 24 Monaten ab — SMTPly merkt sich das Ablaufdatum und mahnt per E-Mail in den Stufen 30 / 14 / 7 / 1 Tag(e) vorher, nur einmal pro Stufe. So rotieren Sie rechtzeitig, ohne dass der Mail-Versand überraschend stehenbleibt.

🧹

Ad-hoc-Bereinigung

Direkt in den Einstellungen: „Speicherdauer jetzt anwenden", „Alle Log-Dateien löschen" und „Mail-Tracker leeren" — für schnelles Aufräumen ohne Dienst-Neustart oder manuelles SQL.

Technische Eckdaten

PlattformWindows 10 / 11, Windows Server 2016 / 2019 / 2022 / 2025
Architekturx64 (self-contained, keine separate .NET-Runtime nötig)
Technologie.NET 8, WPF, ModernWpfUI, Serilog, MSAL.NET, Microsoft Graph SDK 5
SMTP-PortKonfigurierbar, Standard 25 (intern) / 587 (extern)
Bind-AdresseStandard 127.0.0.1, optional 0.0.0.0 für LAN-Betrieb
Max. Nachrichtengröße25 MB Standard, bis zu 150 MB (Graph-Limit)
OAuth2Azure App Registration (Phase 1: kundenseitig), Application Permission Mail.Send
KonfigurationJSON, Secrets DPAPI-verschlüsselt (LocalMachine-Scope)
LoggingSerilog Datei + IPC-Stream zur GUI, Mail-Tracker als SQLite
InstallerInno Setup, registriert Windows-Dienst automatisch