how to exclude subfolder from expiration using annotations?

Adam Tauno Williams awilliam at whitemice.org
Mon Jul 20 08:15:27 EDT 2009


> I'm currently trying to find out how to use cyr_expire in combination with
> annotations exluding one single subfolder per mailbox.
> I'm running RHEL5 with v2.3.7-Invoca-RPM-2.3.7-2.el5_3.2.
> What I did:
> . setannotation "user/test1001" "/vendor/cmu/cyrus-imapd/expire" ("value.shared" "1")
> . OK Completed
> . getannotation user/test1001 "/vendor/cmu/cyrus-imapd/expire" "value.shared"
> * ANNOTATION "user/test1001" "/vendor/cmu/cyrus-imapd/expire" ("value.shared" "1")
> . OK Completed
> Now I want to exclude the "Sent Items" folder from expiring, so I did
> . setannotation "user/test1001/Sent Items" "/vendor/cmu/cyrus-imapd/expire" ("value.shared" NIL)
> . OK Completed
> But that does not work:

Correct.  And I've been meaning to post the same question for awhile
now:  How to have message expiration in a folder and *not* for its
subfolders - short of setting an additional annotation on each
sub-folder (which in our circumstance isn't workable as the user can
create additional subfolders).

> $ su - cyrus -c '/usr/lib/cyrus-imapd/cyr_expire -E 3 -v'
> expiring messages in user.test1001 older than 1 days
> expiring messages in user.test1001.Drafts older than 1 days
> expiring messages in user.test1001.Junk older than 1 days
> expiring messages in user.test1001.Sent Items older than 1 days
> expiring messages in user.test1001.Trash older than 1 days
> expiring messages in user.test1001.confirmed-ham older than 1 days
> expiring messages in user.test1001.confirmed-spam older than 1 days
> expiring messages in user.test1001.subfolder older than 1 days
> expiring messages in user.test1001.subfolder.subsubfolder older than 1 days
> expiring messages in user.test1001.subfolder.subsubfolder.subsubsubfolder older than 1 days
> In the cyr_expire manpage I read:
> [...]
> The  value  of  the /vendor/cmu/cyrus-imapd/expire annotation is inherited by
> all children of the given mailbox, so an entire mailbox tree can be expired by
> seting a single annotation on the root of that tree.  If a mailbox does not
> have a /vendor/cmu/cyrus-imapd/expire annotation set on it (or does not
> inherit then no messages are expired from the mailbox.
> [...]
> I found no further resources describing how to achieve what I want.
> Is that possible at all?

My guess, is no.  FYI, purge exhibits the same behavior [as documented].
-- 
OpenGroupware developer: awilliam at whitemice.org
<http://whitemiceconsulting.blogspot.com/>
OpenGroupare & Cyrus IMAPd documenation @
<http://docs.opengroupware.org/Members/whitemice/wmogag/file_view>



More information about the Info-cyrus mailing list