X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=mailtest-check;h=67cca9ca84c9e347289306646f05c1aedb8601c8;hb=253530bdfb6da78f7b33f7af11a031359f02ef84;hp=5cf79fe8278b8ae69532ee66fb17b60e49ac793a;hpb=01ccff895787ca94ad37d11cb93f0440a29edd7c;p=distro-setup diff --git a/mailtest-check b/mailtest-check index 5cf79fe..67cca9c 100755 --- a/mailtest-check +++ b/mailtest-check @@ -120,6 +120,7 @@ EOF fi tmpfile=$(mktemp) declare -i unexpected=0 + declare -i missing_dnswl=0 for folder in ${folders[@]}; do for from in ${froms[@]}; do latest= @@ -131,13 +132,14 @@ EOF fi # webmail sends them to cur it seems while read -r file; do - if [[ $file -nt $latest ]]; then + file_sec=$(awk '/^Subject: / {print $4}' $file) + if [[ $file_sec ]] && (( file_sec > last_sec )); then latest=$file + last_sec="$file_sec" fi done <$tmpfile to=$(awk '/^Envelope-to: / {print $2}' $latest) - last_sec=$(awk '/^Subject: / {print $4}' $latest) if $slow; then if ! $int; then @@ -220,7 +222,6 @@ EOF echo # ends our printf string buildup cat $resultfile echo mailtest-check: end of spam debug results - # lets just handle 1 failure at a time in interactive mode. if $int; then echo mailtest-check: from: $from, to: $to @@ -236,6 +237,19 @@ EOF #fi fi rm -f $resultfile + unexpected=$(( unexpected + ${#results[@]} )) + for miss in ${missing[@]}; do + # We expect dns reputation services to go down from time to time, so + # we count them separately and alert differently. + case $miss in + RCVD_IN_DNSWL_MED|DKIMWL_WL_HIGH) + missing_dnswl+=1 + ;; + *) + unexpected+=1 + ;; + esac + done fi # if spamdpid fi # if $slow @@ -247,11 +261,11 @@ EOF pr <