[Dovecot] Automatic expire on post-login

Robert Schetterer robert at schetterer.org
Wed Nov 24 12:39:19 EET 2010

Am 24.11.2010 11:31, schrieb Antonio Perez-Aranda:
> I can't use a cronjob because is a customer requeriment and the time
> to expunge over 200.000 accounts over nfs can take a log time.

whatever, if really use post-login a find rm might be cheaper

i.e like, script optimized to your needs


v1.0 cronjob equivalent

For Dovecot v1.0, this can be accomplished by running a daily shell script:

# delete 30 day old mails
find /var/virtualmail/ -regex
'.*/\.\(Trash\|Junk\)\(/.*\)?\/\(cur\|new\)/.*' -type f  -ctime +30  -delete
# or -exec rm '{}' \; instead of -delete

but wait for timos comments
> 2010/11/24 Robert Schetterer <robert at schetterer.org>:
>> Am 24.11.2010 09:57, schrieb Antonio Perez-Aranda:
>>> I need to clear two folder from Maildir at login.
>>> Exatly, delete all mails older than 30 days on Trash and 1 day on spam folder.
>>> I'm using dovecot 2.0 and I think about use a post-login script
>>> calling doveadm -u $user expunge but post-login scripts in dovecot 2.0
>>> are very complex
>> i dont think you should do/can it with  post-login script, this would
>> produce heavy overload, as you connect much times i.e in an imap seesion
>> but i may fail here...
>>> Is there possible to get the environment vars like on dovecot 1.2 ?
>>> I think this action must be done by expire plugin, but it isn't the
>>> work method if as I understand after read wiki2.dovecot.org about
>>> expire plugin, It run only with a cronjob.
>> i do it with cron and expire plugin
>> --
>> Best Regards
>> MfG Robert Schetterer
>> Germany/Munich/Bavaria

Best Regards

MfG Robert Schetterer


More information about the dovecot mailing list