That could be something like that script (test and adapt). I&#39;m just a beginer with Mail::IMAPTalk and I don&#39;t use correctly search method<br>The trick will be to find the from and subject and/or the date..<br><br>Dom<br>
<br>#!/usr/bin/perl<br>use Mail::IMAPTalk;<br><br>$IMAP = Mail::IMAPTalk-&gt;new(<br>             Server   =&gt; &#39;localhost&#39;,<br>             Username =&gt; &#39;cyrus&#39;,<br>             Password =&gt; &#39;xxx&#39;,<br>
             Uid      =&gt; 1 )<br>           || die &quot;Failed to connect/login to IMAP server&quot;;<br><br>#<a href="http://linuxfr.org/forums/27/21722.html">http://linuxfr.org/forums/27/21722.html</a><br>$IMAP-&gt;set_root_folder(&#39;inbox&#39;, &#39;/&#39;, 1, &#39;user&#39;);<br>
@folder=$IMAP-&gt;list(&quot;user.%&quot;,&#39;*&#39;);<br>foreach $bals (@folder){<br>$tot=0;<br>$msgnb=0;<br>   foreach $bal (@$bals){<br>      if ($bal=~/user\//){<br>         #$IMAP-&gt;examine($_);<br>         #$count=$IMAP-&gt;message_count($_);<br>
         $IMAP-&gt;select($bal) || warn &quot;cant access $bal: $@&quot;;<br>         $ResSearch = $IMAP-&gt;search(&#39;1:*&#39;, &#39;FROM&#39;, &#39;xxx&#39;); # find the good search to do<br>         $Res = $IMAP-&gt;fetch($Res, &#39;(rfc822.size envelope)&#39;) || die &quot;cant access $bal: $@&quot;;<br>
         foreach $id (keys %$Res){<br>            $size=$Res-&gt;{$id}-&gt;{&#39;rfc822.size&#39;};<br>            $subject=$Res-&gt;{$id}-&gt;{&#39;envelope&#39;}-&gt;{&#39;Subject&#39;};<br>            print &quot;id=$id size=$size sub=$subject\n&quot;;<br>
         }<br>         $IMAP-&gt;store($ResSearch, &#39;+flags&#39;, &#39;(\\deleted)&#39;);<br>         $lasterr=$IMAP-&gt;get_last_error();<br>         if (defined $lasterr){<br>            next if ($lasterr=~/No fetch data/);<br>
            warn &quot; $bal: $@&quot;;<br>            next;<br>         }<br>     }<br>   }<br>}<br>$IMAP-&gt;logout();<br><br><br><div class="gmail_quote">2009/5/11 Gerald Nowitzky <span dir="ltr">&lt;<a href="mailto:whl@igne.de">whl@igne.de</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello!<br>
<br>
I have been confronted with a request today: We are running cyrus as imap<br>
server. We have currently about 3 million files and 150GB in our mail dir.<br>
One user has accidently sent something confidential to all users via a list.<br>
The request was, of course, to delete the mail from all mailboxes. Is there<br>
any reasonable approach to do something like this?<br>
<br>
Thanks!<br>
(Gerald)<br>
<br>
----<br>
Cyrus Home Page: <a href="http://cyrusimap.web.cmu.edu/" target="_blank">http://cyrusimap.web.cmu.edu/</a><br>
Cyrus Wiki/FAQ: <a href="http://cyrusimap.web.cmu.edu/twiki" target="_blank">http://cyrusimap.web.cmu.edu/twiki</a><br>
List Archives/Info: <a href="http://asg.web.cmu.edu/cyrus/mailing-list.html" target="_blank">http://asg.web.cmu.edu/cyrus/mailing-list.html</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Dominique LALOT<br>Ingénieur Systèmes et Réseaux<br><a href="http://annuaire.univmed.fr/showuser.php?uid=lalot">http://annuaire.univmed.fr/showuser.php?uid=lalot</a><br>