[Dovecot] dovecot.index mtime

Benjamin R. Haskell dovecot at benizi.com
Sun Nov 11 19:51:15 EET 2007


On Sun, 11 Nov 2007, Matt wrote:

>>> Is there anyway I can get Dovecot to update mtime on dovecot.index
>>> everytime a user successfully checks there email?
>>
>> Postlogin scripting would work like Benjamin said. Another possibility
>> would be to check atime if you haven't disabled atime updates.
>
> atime is updated everytime I do a backup which is once a week.
>
>> protocol imap {
>> # ...
>> mail_executable = /full/path/to/loginscript.sh
>
> I imagine I would need to put this in pop3 section as well?

Yes. I would do it via symlinks, then have loginscript.sh exec the 
appropriate dovecot process based on how it was called.

e.g.:

protocol imap {
mail_executable = /full/path/to/imap
...
protocol pop3 {
mail_executable = /full/path/to/pop3


with imap and pop3 each a symlink to loginscript.sh. Then, replace the 
exec in loginscript.sh with:
exec /usr/libexec/dovecot/`basename $0`


>> #!/bin/sh
>> touch $HOME/.dovecot-lastlogin
>> exec /usr/libexec/dovecot/imap
>
> Can I just touch the dovecot.index instead?

Maybe. Not sure what environment variable holds its location, though. And 
I'm not 100% sure it always exists or whether you'd have to special-case 
the first-time login. (Will 'touch' creating a zero-length index cause 
trouble for dovecot? I suspect not.) It might also be nice to just have it 
as a separate file with an obvious name, rather than relying on nothing 
else changing dovecot.index. (I think, for example, you can have dovecot's 
deliver update dovecot.index... or maybe that was just on someone's 
wishlist.)


> Also, I am bit confused.  Why must the script exec imap?

mail_executable tells dovecot what to run after a successful login. 
Usually that's 'imap'. So, when you replace imap with loginscript.sh, you 
need to be sure that it eventually turns into 'imap', which handles the 
actual IMAP connection after your script makes its tweaks.


> I imagine
> $HOME will contain the path to the home directory of the pop3/imap
> user that just successfully logged in?

Yes.


Best,
Ben


More information about the dovecot mailing list