Φίλος μου ζήτησε βοήθεια ώστε να καθαρίσει διάφορα backscatter mails από το mailbox του. Μία από τις πλέον γνωστές επιθέσεις είναι ο spammer να χρησιμοποιεί διαφορετική mail address ή ακόμα και reply-address με αποτέλεσμα τα back scatters να μην έρχονται σε αυτόν αλλά να πηγαίνουν σε κάποιον άλλο.

Με βοήθησε αρκετά το συγκεκριμένο άρθρο:mbox_selective_deletion και πάνω σε αυτό βασίστηκα για να γράψω την δική μου παραλλαγή:

#!/usr/bin/perl -w
# Created by Ben Okopnik on Thu Jan 14 21:55:46 EST 2010
# Updated by Evaggelos Balaskas on Sun Jun 27 20:50:11 EEST 2010
	
use strict;
use Mail::MboxParser;
	
die $0 =~ /([^/]+)$/, " <mbox> n" unless @ARGV == 1;
	
my $mb = Mail::MboxParser->new($ARGV[0]);
 
my @subjects = ( 
	"Undeliverable",
	"Warning: could not send message for past 12 hours",
	"Returned mail: see transcript for details",
	"Delivery Status Notification (Failure)",
	"Undelivered Mail Returned to Sender"
	);
	
while ( my $msg = $mb->next_message ) {
  my $s = $msg->header->{subject};
  
  $s ||= "empty_subject";
	
  my $flag = 0;
  foreach (@subjects) {
	  if ( $s =~ $_ ) {
		  $flag = 1;
		  last;
	  }
  }
  print $msg."n" unless $flag ;
	
}
	

Η χρήση του είναι η εξής:

./remove.pl mailbox > newmailbox

και φυσικά μπορείτε να προσθέσετε στην λίστα @subjects όσα περισσότερα subjects θέλετε.

Ο πλήρες κώδικας βρίσκεται εδώ: How to remove a specific mail from a mbox

ΥΓ: Θα χαρώ να λάβω παρατηρήσεις.