Re: Trash folder maintenance
Trey Nolen <[email protected]>
| Newsgroups | gmane.mail.vpopmail |
|---|---|
| Message-ID | <[email protected]> |
Tom Collins wrote:
> 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
>
>
>
Cool. I'll give it a try. Thanks!
Trey Nolen
!DSPAM:4b945f4032711087518585!