From a26b854cca8bf8e8abe151164a0f23dc03e9bc0a Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 16 Jun 2026 11:30:04 +0200 Subject: [PATCH] Improve mailtrace script: clarify success and failure outcome filters in comments and logic --- mailtrace.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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] : "-")