Der Windows-Dienst startete nicht zuverlaessig (blieb in 'Wird gestartet' /
generischer Startfehler). Behoben:
- StartPending -> Running melden (statt direkt Running): sauberer SCM-Handshake.
- service_main protokolliert Start + Fehler in mailclient-fatal.log (Session 0
hat keine Konsole); Runtime-/Status-Fehler werden als 'gestoppt mit Fehler'
gemeldet statt ins Leere zu laufen.
- main faellt bei Dispatcher-Fehler NICHT mehr still in den Konsolenmodus (das
erzeugte einen nicht vom SCM verwalteten Geisterprozess, der einen
erfolgreichen Start vortaeuschte + die EXE sperrte). Interaktiv via --console.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Polling-Client, der beim Backend die noch nicht versendeten ausgelieferten
Belege abfragt (GET /admin/delivered-belegnummern), ERPframe per CLI zum
Mailversand anstößt (_SV_MAIL_VERSAND) und die Belege anschließend als
versendet markiert (POST /admin/mark-mail-sent). Authentifizierung gegen
das Backend per X-Admin-Api-Key.
Enthält: Config-Laden (config.json, Vorlage config.example.json), Logging,
Windows-Service-Wrapper (install-/uninstall-service.ps1).
Nicht im Repo (.gitignore): config.json (Secrets: Admin-Key + ERPframe-
Passwort), target/, logs/. config.example.json trägt nur Platzhalter.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>