diff --git a/mailtrace.sh b/mailtrace.sh index 4e90569..f1b5f61 100755 --- a/mailtrace.sh +++ b/mailtrace.sh @@ -57,8 +57,10 @@ set -euo pipefail # - Das sind Regeln “für die Praxis”, keine 100% perfekte Klassifikation. # # 6) Erfolg/Fehlschlag: -# - --success zeigt nur erfolgreiche LMTP Outcomes -# - --fail zeigt nur nicht-erfolgreiche Outcomes +# - --success zeigt nur Outcomes mit status=success +# - --fail zeigt nur Outcomes mit status=failed +# - Handoff-Einträge (Übergabe an Amavis) werden von beiden Filtern +# ausgeblendet, da sie keine endgültige Zustellung darstellen. # - Erfolgreich definieren wir hier pragmatisch als status in: # sent | delivered | deliverable # @@ -116,7 +118,7 @@ Filter: Status-Filter: --success nur erfolgreiche Endzustellungen (status=success) - --fail nur fehlgeschlagene Endzustellungen (status=failed oder handoff) + --fail nur fehlgeschlagene Endzustellungen (status=failed, kein handoff) AUTH / Richtung: --sasl-only nur Einlieferungen mit SMTP AUTH (sasl_username vorhanden) @@ -600,8 +602,8 @@ END { if (status == "failed" && msg != "") LAST_FAILURE[qid] = msg # Statusfilter - if (success_only == 1 && !is_success(status)) next - if (fail_only == 1 && is_success(status)) next + if (success_only == 1 && status != "success") next + if (fail_only == 1 && status != "failed") next client = (CLIENT[qid] ? CLIENT[qid] : "-") clientip = (CLIENTIP[qid] ? CLIENTIP[qid] : "-")