I'm trying to understand autoexpunge, but the documentation is just not clear. Hopefully, someone can clear up a few questions.
http://wiki.dovecot.org/MailboxSettings says the following:
autoexpunge=<time>: (v2.2.20+) Automatically at user deinitialization expunge all mails in this mailbox whose saved-timestamp is older than <time> (e.g. autoexpunge=30d). This removes the need for expire plugin http://wiki.dovecot.org/Plugins/Expire if you don't care that the expunging may not always happen in time.
What does "at user deinitialization" mean?
What does "if you don't care that the expunging may not always happen in time" mean?
I read the sub-bullets but they just aren't clear. When exactly does autoexpunge occur?
Thanks,
Michael
Hi Micheal,
the article is fine if you continue reading it to the next bullet points about IMAP, POP3 and LMTP. In short words…
When the user quits and thus closes his mailbox/connection, Dovecot quickly looks through the folders to clean up mails which are older then configured days.
In the past there was a cron job which could do this every n hours, days, … but this setting does this automatically. Still I prefer using cron which gives me more control over when this lookup happens.
User deinitialization is simply developer „slang" for user closes connection/quits his program.
Philon
Am 30.08.2016 um 14:41 schrieb Michael Fox news@mefox.org:
I'm trying to understand autoexpunge, but the documentation is just not clear. Hopefully, someone can clear up a few questions.
http://wiki.dovecot.org/MailboxSettings says the following:
autoexpunge=<time>: (v2.2.20+) Automatically at user deinitialization expunge all mails in this mailbox whose saved-timestamp is older than <time> (e.g. autoexpunge=30d). This removes the need for expire plugin http://wiki.dovecot.org/Plugins/Expire if you don't care that the expunging may not always happen in time.
What does "at user deinitialization" mean?
What does "if you don't care that the expunging may not always happen in time" mean?
I read the sub-bullets but they just aren't clear. When exactly does autoexpunge occur?
Thanks,
Michael
Thanks Philon,
I did read the extra bullets, as indicated in my email below. But your "When the user quits and thus closes his mailbox/connection" is more clear than "after the client is already disconnected", since the latter is really anytime, rather than at the time they quit.
I can guess that the bulletin about LMTP similarly means at the end of each time LMTP delivers mail to the mailbox.
Assuming that is true, then the problem I see with autoexpunge is that it doesn't address the case of a user that has not logged in nor received mail in that mailbox for the specified time. Those messages would apparently stay forever. Correct?
And, if that's true, then the cron job seems like the only way to expunge all old messages. Correct?
Thanks, Michael
-----Original Message----- From: dovecot [mailto:dovecot-bounces@dovecot.org] On Behalf Of Philon Sent: Wednesday, August 31, 2016 12:41 AM To: Michael Fox news@mefox.org Cc: Dovecot Mailing List dovecot@dovecot.org Subject: Re: autoexpunge clarification
Hi Micheal,
the article is fine if you continue reading it to the next bullet points about IMAP, POP3 and LMTP. In short words…
When the user quits and thus closes his mailbox/connection, Dovecot quickly looks through the folders to clean up mails which are older then configured days.
In the past there was a cron job which could do this every n hours, days, … but this setting does this automatically. Still I prefer using cron which gives me more control over when this lookup happens.
User deinitialization is simply developer „slang" for user closes connection/quits his program.
Philon
Am 30.08.2016 um 14:41 schrieb Michael Fox news@mefox.org:
I'm trying to understand autoexpunge, but the documentation is just not clear. Hopefully, someone can clear up a few questions.
http://wiki.dovecot.org/MailboxSettings says the following:
autoexpunge=<time>: (v2.2.20+) Automatically at user deinitialization expunge all mails in this mailbox whose saved-timestamp is older than <time> (e.g. autoexpunge=30d). This removes the need for expire plugin http://wiki.dovecot.org/Plugins/Expire if you don't care that the expunging may not always happen in time.
What does "at user deinitialization" mean?
What does "if you don't care that the expunging may not always happen in time" mean?
I read the sub-bullets but they just aren't clear. When exactly does autoexpunge occur?
Thanks,
Michael
Hi Michael
you are correct I guess based on your assumptions.
autoexpunge kicks in on user interaction either by email delivery or a user checking in. If both does not occour then no cleanup will happen.
Question would be if there is that much to cleanup in this case. A user not logging in for long time and not receiving any emails… seems inactive to me. Ok, he might have put all his mails to the trash and this was not emptied before he went for his sabatical. But the use case seems to be in the n<10 range!? A monthly cronjob could be sufficent in this case?
I’m quite happy with the expire plugin and SQL timestamping. Using this the cronjob only checks through the listed folders and not all users. Slim approach! And for me a cleanup once per day is at least currently more than enough.
Philon
Am 31.08.2016 um 17:44 schrieb Michael Fox news@mefox.org:
Thanks Philon,
I did read the extra bullets, as indicated in my email below. But your "When the user quits and thus closes his mailbox/connection" is more clear than "after the client is already disconnected", since the latter is really anytime, rather than at the time they quit.
I can guess that the bulletin about LMTP similarly means at the end of each time LMTP delivers mail to the mailbox.
Assuming that is true, then the problem I see with autoexpunge is that it doesn't address the case of a user that has not logged in nor received mail in that mailbox for the specified time. Those messages would apparently stay forever. Correct?
And, if that's true, then the cron job seems like the only way to expunge all old messages. Correct?
Thanks, Michael
Thanks Philon.
In one of my situations, the potential for such old mail in accounts where the user is not receiving new mail or logging in is large. For example, one application is for an emergency auxiliary mail service. It can be heavily used during training, drills and, of course, emergencies. But otherwise, any leftover mail will likely sit there until the next training, drill, or emergency. The account is still valid and should not be removed. But we'd like the mails to be removed so this old mail isn't dumped on the user the next time they connect, especially since some may connect via lower-speed radio links.
It looks like I'll definitely need to use the expunge plugin with a cron job.
Thanks again for the clarifications.
Michael
participants (2)
-
Michael Fox
-
Philon