On Mar 2, 2010, at 3:31 PM, Trey Nolen wrote:
> In the past, we have been using Sqwebmail to remove email from the Trash
> folder periodically (by default 7 days). Now, we have migrated to a new
> server using the new Vpopmail which no longer supports Sqwebmail. We have
> moved to SquirrelMail for our main webmail interface. I would still like to
> be able to remove deleted items after 7 days. I have seen the Proon plugin
> for SquirrelMail, but I believe it is too complex for most users, and it also
> will not let us specify global defaults. Does anyone out there have a
> solution they are using?
It's a bit of a hack, but here's what I'm doing right now:
#!/usr/bin/perl
$|++;
$days = 60;
@globs = (
'*/*/Maildir/.Trash*/{cur,new}',
'?/*/*/Maildir/.Trash*/{cur,new}',
'*/?/*/Maildir/.Trash*/{cur,new}',
'?/*/?/*/Maildir/.Trash*/{cur,new}',
'*/*/Maildir/.Deleted Messages*/{cur,new}',
'?/*/*/Maildir/.Deleted Messages*/{cur,new}',
'*/?/*/Maildir/.Deleted Messages*/{cur,new}',
'?/*/?/*/Maildir/.Deleted Messages*/{cur,new}'
);
$c = 0;
print "Deleting mail in .Trash and .Deleted Messages folders, over $days days
old.\n";
foreach $path (@globs)
{
while ($name = glob ('/home/vpopmail/domains/' . $path))
{
opendir (D, $name);
while ($f = readdir(D))
{
# skip non-files
next if (! -f "$name/$f");
$t = -M "$name/$f";
if ($t > $days)
{
unlink "$name/$f";
$c++;
}
}
}
}
print "Deleted $c messages over $days days old\n";
-Tom
!DSPAM:4b94359132711951920405!