Hi, While running following IMAP learn script (see attachment) I am getting following error message.
config: invalid regexp for rule OEM_SPAM: /Reinstall OEM with different > media???/i: Nested quantifiers in regex; marked by <-- HERE in > m/(?i)Reinstall OEM with different media??? <-- HERE / > I am bit confused about what it means or indicates. Is there any thing wrong with my perl installation. I am also getting error while installation perl module Mail::IMAPClient make: *** [test_dynamic] Error 255 > /usr/bin/make test -- NOT OK > Running make install > make test had returned bad status, won't install without force > -- Regards, Meghanand N. Acharekar " A proud Linux User " Reg Linux User #397975 ------------------------------------------ I was born free! No Gates and Windows can restrict my Freedom !!!
#!/usr/bin/perl # Imap Interface to SpamAssassin Learn v0.03 # ------------------------------------ ----- # # Connects to an imap server, and filters the messages from the INBOX # and SpamTrap (unless otherwise told) through sa-learn # # usage: # imap-sa-learn.pl <-hamfolder HAM> <-spamfolder SPAM> # # Other options: # -skips nnn skips over the first nnn messages in the folder(s) # -deletespam after learning from a spam message, delete it # -delete-spam (as above) # -dangerous-delete-ham after learning from a ham (real email), # delete it. Most people don't want this... # -dangerous-delete-all after learning from any message, delete # it, spam or ham # # Uses Mail::IMAPClient and SpamAssassin (sa-learn) # # Needs a version of SpamAssassin with the Bayesian filtering support, # i.e. 2.50 or later # # Nick Burch <[EMAIL PROTECTED]> # 25/06/2003 # use Mail::IMAPClient; # Define our server and credentials here # * Really ought to able to have several accounts defined # # ** fix me ** your details go below my $username = '[EMAIL PROTECTED]'; my $password = '123456'; my $server = '123.456.678.9'; # Define where to find messages my $defspamfolder = 'Main'; my $defhamfolder = 'Ham'; my $deletespam = 1; my $deleteham = 1; my $default = 1; my $skips = 0; my @spams; my @hams; while(my $arg = shift) { if($arg eq "-spamfolder") { my $spam = shift; push @spams,$spam; print "Using spam folder $spam\n"; $default = 0; } if($arg eq "-hamfolder") { my $ham = shift; push @hams,$ham; print "Using normal (ham) folder $ham\n"; $default = 0; } if($arg eq "-deletespam" || $arg eq "-deletespams" || $arg eq "-delete-spam" || $arg eq "-delete-spams") { $deletespam = 1; } if($arg eq "-dangerous-delete-ham" || $arg eq "-dangerous-delete-hams") { $deleteham = 1; } if($arg eq "-dangerous-delete-all") { $deletespam = 1; $deleteham = 1; } if($arg eq "-skips" || $arg eq "-skip") { $skips = shift; } if($arg eq "-?" || $arg eq "-h") { print "Usage:\n"; print " imap-sa-learn.pl [-spamfolder f]* [-hamfolder f]*\n\n"; print "with no argumnets, uses default folders\n"; print "(a few other options exist, see the header of the program)\n"; exit; } } if($default) { push @hams,$defhamfolder; push @spams,$defspamfolder; } my %folders; $folders{'spam'} = [EMAIL PROTECTED]; $folders{'ham'} = [EMAIL PROTECTED]; # Normal (1), Debugging (2), or silent(0)? my $debug = 2; # Connect to the IMAP server in peek (i.e. don't set read flag) mode my $imap = Mail::IMAPClient->new(Server => $server, User => $username, Password => $password, Peek => 1); foreach my $type(keys %folders) { foreach my $folder (@{$folders{$type}}) { print "\nLooking in $type folder $folder\n"; # Pick the folder $imap->select($folder); # Enable peek mode $imap->Peek(1); # Fetch messages my @mails = ($imap->seen(),$imap->unseen); my $count = 0; foreach my $id (@mails) { $count++; if($count < $skips) { next; } print " Learning on $type message $id\n"; my $mail = $imap->message_string($id); open SA, "| sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --no-sync --$type --single"; print SA $mail; close SA; if($type eq "spam" && $deletespam) { # If you want to move the message rather than deleting it, # uncomment the line below, change the folder, but _don't_ # remove the delete line! #$imap->append('TrashBin', $mail ); print "Deleting Spam Message $id\n"; $imap->delete_message($id); } if($type eq "ham" && $deleteham) { print "Deleting Ham (normal email) Message $id\n"; $imap->delete_message($id); } } if($deleteham || $deletespam) { # Only expunge now, rather than on every message $imap->expunge(); } } } print "\nNow rebuilding the Bayesian filters\n"; `sa-learn -p /usr/mailcleaner/etc/mailscanner/spam.assassin.prefs.conf --siteconfigpath /usr/mailcleaner/share/spamassassin --sync`; $imap->close; exit;
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/