Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

On a Debian Squeeze system I run an IMAP server using Dovecot with messages being stored in the Maildir format. The server is accessed by various clients, including Thunderbird, Evolution and RoundCube.

When a user deletes a message it is moved to the Trash folder. (I am unsure if all clients also mark the messages as deleted when moving them.) However, beyond that no action is taken. Hence I am forced to periodically remind all users to explicitly empty their Trash every few months.

Does Dovecot provide an easy means of automatically deleting Trashed messages older than n days? I've seen mention to an expunge cron-job but it seems to delete all messages older than a certain number of days as opposed to just those in Trash.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

Expire plugin delete mails from specified mailboxes after a designated number of days. http://wiki2.dovecot.org/Plugins/Expire

share|improve this answer

The Plugin that @hostemaster mentioned is not really needed if you don't deal with thousand of users.

Just create an easy script like this:

#!/bin/bash
#
DOVEADM="/usr/local/dovecot/bin/doveadm";

$DOVEADM expunge -A mailbox Trash savedbefore 90d
$DOVEADM expunge -A mailbox Junk  savedbefore 60d

And run it daily as an cronjob.

This will remove all messages from Trash that are older than 90 days, or from Junk if older than 60 days.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.