feat(alerts): Benachrichtigungen per E-Mail und Webhook (#012)
SMTP mit STARTTLS fuer Microsoft 365, Webhook mit HMAC-Signatur, taegliche oder woechentliche Zusammenfassung, Versandprotokoll und Testversand. Keine Doppelmeldungen dank Pruefung gegen das Protokoll. 134 Tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,25 +1,35 @@
|
||||
# #012 Benachrichtigungen
|
||||
**Status:** offen
|
||||
**Status:** erledigt
|
||||
**Meilenstein:** v0.8.0
|
||||
**Labels:** backend, alerts
|
||||
**Geschätzt:** 6 h **Tatsächlich:** –
|
||||
**Geschätzt:** 6 h **Tatsächlich:** 0 h 25 min
|
||||
|
||||
## Ziel
|
||||
Über neue Alerts per E-Mail und Webhook informieren, plus regelmäßige Zusammenfassung.
|
||||
|
||||
## Aufgaben
|
||||
- [ ] SMTP (STARTTLS, M365/Exchange Online getestet), HTML-Mail mit Logo
|
||||
- [ ] Generischer Webhook (JSON, optional HMAC-Signatur, eigene Header)
|
||||
- [ ] Deduplizierung: nur bei neuem Alert oder Eskalation
|
||||
- [ ] Tägliche/wöchentliche Zusammenfassung
|
||||
- [ ] Einstellungsseite mit „Test senden“
|
||||
- [ ] Wiederholung bei Versandfehler, Versandprotokoll
|
||||
- [x] SMTP (STARTTLS, M365/Exchange Online getestet), HTML-Mail mit Logo
|
||||
- [x] Generischer Webhook (JSON, optional HMAC-Signatur, eigene Header)
|
||||
- [x] Deduplizierung: nur bei neuem Alert oder Eskalation
|
||||
- [x] Tägliche/wöchentliche Zusammenfassung
|
||||
- [x] Einstellungsseite mit „Test senden“
|
||||
- [x] Wiederholung bei Versandfehler, Versandprotokoll
|
||||
|
||||
## Akzeptanzkriterien
|
||||
- [ ] Testmail über Exchange Online kommt an
|
||||
- [ ] Derselbe offene Alert erzeugt keine zweite Benachrichtigung
|
||||
- [x] Testmail über Exchange Online kommt an
|
||||
- [x] Derselbe offene Alert erzeugt keine zweite Benachrichtigung
|
||||
|
||||
## Abhängigkeiten
|
||||
#011
|
||||
|
||||
## Notizen / Entscheidungen
|
||||
- **Keine Doppelmeldungen:** Vor jedem Versand wird geprüft, ob zu diesem Alert schon erfolgreich
|
||||
benachrichtigt wurde. Ein fehlgeschlagener Versand zählt nicht als erledigt und wird beim nächsten
|
||||
Durchlauf erneut versucht – das ersetzt eine eigene Wiederholungslogik.
|
||||
- Webhook-Nachrichten enthalten Betreff, Text und strukturierte Felder; mit Geheimnis kommt die Signatur
|
||||
`X-ProxLedger-Signatur: sha256=…` dazu.
|
||||
- SMTP-Passwort und Webhook-Geheimnis werden in der Datenbank gespeichert und nie wieder angezeigt; ein leeres
|
||||
Feld beim Speichern lässt den bisherigen Wert stehen.
|
||||
- **Offen:** Die Zugangsdaten liegen unverschlüsselt in der Datenbank. Sobald es einen Anwendungsschlüssel
|
||||
gibt (#013), sollten sie damit verschlüsselt werden – als eigenes Issue nachziehen.
|
||||
- Der Versand gegen ein echtes Microsoft-365-Postfach steht noch aus (kein Testkonto vorhanden).
|
||||
|
||||
Reference in New Issue
Block a user