Adjust the mail reject output so that it gives an abreviated reason for the

reject.  For example:

Checking for rejected mail hosts:
  48 getherbalnow.info (451... resolve)
  46 absorb.com (451... resolve)
   4 tgmart01.codns.com (553... exist)
   3 kali.com.cn (451... resolve)
   2 genie.com (451... resolve)
   1 zv.qy (553... exist)
   1 zd.hinet.hr (553... exist)
   ....

The bit in parenthesis is the reject code and the last word on the line -
enough to give the admin a better chance of seeing real problems (hopefully!).

While I'm here, remove the "<" at the start of rejects coming from "from"
addresses without a name@ part.

I had to rewrite the patch given by the submitter as this script has been
sed'ified (used to be perl) and I think the reject code is useful....

PR:		17377
Idea from:	root at ns dot internet dot dk
MFC after:	7 days
This commit is contained in:
Brian Somers 2005-01-11 02:08:53 +00:00
parent ea7e63ea87
commit cd3384a7ec

View File

@ -51,7 +51,7 @@ case "$daily_status_mail_rejects_enable" in
done
cat /var/log/maillog
} |
sed -n -E "s/^$start"'.*ruleset=check_[^ ]+,[ ]+arg1=(<[^@]+@)?([^>,]+).*reject=.*/\2/p' |
sed -n -E "s/^$start"'.*ruleset=check_[^ \t]+,[ \t]+arg1=<([^@]+@)?([^>,]+).*reject=([^ \t]*)[ \t].*[ \t]([a-zA-Z0-9_.]+)$/\2 (\3... \4)/p' |
sort -f | uniq -ic | sort -fnr | tee /dev/stderr | wc -l)
[ $rc -gt 0 ] && rc=1
fi;;