You are here: start » resources » statistics » transaction-results
You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.
#!/usr/bin/perl -w use strict; my @pat = ( [ 'queued', '\|250 Queued', ], [ 'badmailfrom', '550 Mail from .* not accepted here', ], [ 'mail-from-temp', '\|450 Could not resolve ', ], [ 'spamcop', '\|550 Blocked - see http://www.spamcop.net/bl.shtml', ], [ 'dsn.rfc-ignorant', '\|550 Mail from .* rejected because it does not accept bounces. This violates RFC 821/2505/2821 http://www.rfc-ignorant.org/' ], [ 'whois', '\|550 Inaccurate or missing WHOIS data', ], [ 'badrcptto', '\|550 mail to .* not accepted here', ], [ 'relay', '\|550 relaying denied', ], [ 'spamassassin', '\|552 spam score exceeded', ], [ 'ordb', '\|550 This mail was handled by an open relay - please visit <http://ORDB.org/lookup/', ], [ 'greylisting', '\|450 This mail is temporarily denied', ], [ 'netcetera', '\|550 Blocked. Contact spam@netcetera.dk Include this in the subject:' ], [ 'klez', '\|552 Klez Virus Detected', ], [ 'no-such-user', '\|550 no such user', ], [ 'early-talker', '450 Don\'t be rude and talk before I say hello\!', ], [ 'queue-error', '\|451 Unable to queue message', ], [ 'spamhaus', '\|550 http://www.spamhaus.org/SBL/sbl.lasso', ], [ 'cbl', '\|550 http://www.spamhaus.org/xbl/xbl.lasso', ], [ 'fqdn-required', '\|450 FQDN required in the envelope sender', ], [ 'badhelo', '\|550 Uh-huh. You\'re .* and I\'m a boil on the bottom of the Marquess of Queensbury\'s great-aunt.' ], [ 'message-too-big', '\|552 Message too big' ], [ 'message-denied', '\|552 Message denied' ], [ 'invalid-receipient', '\|550 invalid receipient' ], [ 'clamav', '\|552 Virus Found' ], [ 'spf', '\|550 SPF forgery' ], [ 'dul', '\|550 Dynamic IP Address' ], [ 'socks', '\|550 SOCKS Proxy' ], [ 'exploit', '\|550 Exploitable Server' ], [ 'web', '\|550 HTTP Proxy' ], [ 'resident', '\|550 We don\'t accept mail from residential addresses.' ], ); my %h; line: while (<>) { for my $pat (@pat) { if (/$pat->[1]/) { #print "$_\tmatched $pat->[1] => $pat->[0]\n"; $h{$pat->[0]}++; next line; } } $h{OTHER}++; } for my $res (sort { $h{$b} <=> $h{$a} } keys %h) { print "$res $h{$res}\n"; }