Re: delete specific mail in all folders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



That could be something like that script (test and adapt). I'm just a beginer with Mail::IMAPTalk and I don't use correctly search method
The trick will be to find the from and subject and/or the date..

Dom

#!/usr/bin/perl
use Mail::IMAPTalk;

$IMAP = Mail::IMAPTalk->new(
             Server   => 'localhost',
             Username => 'cyrus',
             Password => 'xxx',
             Uid      => 1 )
           || die "Failed to connect/login to IMAP server";

#http://linuxfr.org/forums/27/21722.html
$IMAP->set_root_folder('inbox', '/', 1, 'user');
@folder=$IMAP->list("user.%",'*');
foreach $bals (@folder){
$tot=0;
$msgnb=0;
   foreach $bal (@$bals){
      if ($bal=~/user\//){
         #$IMAP->examine($_);
         #$count=$IMAP->message_count($_);
         $IMAP->select($bal) || warn "cant access $bal: $@";
         $ResSearch = $IMAP->search('1:*', 'FROM', 'xxx'); # find the good search to do
         $Res = $IMAP->fetch($Res, '(rfc822.size envelope)') || die "cant access $bal: $@";
         foreach $id (keys %$Res){
            $size=$Res->{$id}->{'rfc822.size'};
            $subject=$Res->{$id}->{'envelope'}->{'Subject'};
            print "id=$id size=$size sub=$subject\n";
         }
         $IMAP->store($ResSearch, '+flags', '(\\deleted)');
         $lasterr=$IMAP->get_last_error();
         if (defined $lasterr){
            next if ($lasterr=~/No fetch data/);
            warn " $bal: $@";
            next;
         }
     }
   }
}
$IMAP->logout();


2009/5/11 Gerald Nowitzky <whl@xxxxxxx>
Hello!

I have been confronted with a request today: We are running cyrus as imap
server. We have currently about 3 million files and 150GB in our mail dir.
One user has accidently sent something confidential to all users via a list.
The request was, of course, to delete the mail from all mailboxes. Is there
any reasonable approach to do something like this?

Thanks!
(Gerald)

----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html



--
Dominique LALOT
Ingénieur Systèmes et Réseaux
http://annuaire.univmed.fr/showuser.php?uid=lalot
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux