[Dovecot] dovecot.index mtime

Benjamin R. Haskell dovecot at benizi.com
Sun Nov 11 05:29:14 EET 2007


On Sat, 10 Nov 2007, Matt wrote:

> Is there anyway I can get Dovecot to update mtime on dovecot.index
> everytime a user successfully checks there email?  Or perhaps there is
> a better way to do what I want here.
>
> I am working on a script that I want to check when the last time a
> user checked there email account.  If a user has not checked it in say
> 6 months I want to automatically suspend the account through the MTA.
> If they start checking it again I also want to automatically reinstate
> it.  What I thought was a good way was to look at the mtime on
> dovecot.index but a user can be checking there email daily but if they
> do not receive a new message in say 6 months the mtime will date back
> to 6 months still.  Ran into this with an email address used by a fax
> machine.
>
> So is there a better way with dovecot to determine this?  I am using
> dovecot-1.0.rc29 right now.


[From an email I wrote in October]

You can do this (and many other things) through Post-Login Scripting:
http://wiki.dovecot.org/PostLoginScripting

See in particular “Last-login tracking”:
http://wiki.dovecot.org/PostLoginScripting#line-20


[...and for your situation:]

I think I'd avoid actually disabling the account through the MTA, 
especially if it's for security considerations and your accounts have 
shell access. But it wouldn't be that hard:


In dovecot.conf, set your IMAP login script as follows:

protocol imap {
# ...
mail_executable = /full/path/to/loginscript.sh


Then, use the attached loginscript.sh. (and chmod +x it)

Tested with 1.0.5 under Gentoo. The 'stat' and 'date' commands might need 
alteration depending on your particular flavor of O/S.

(I also realized after writing it that you probably meant to disable mail 
delivery, not IMAP access. But, it was a fun exercise.)

In that case, all you need in loginscript.sh is:

#!/bin/sh
touch $HOME/.dovecot-lastlogin
exec /usr/libexec/dovecot/imap

Then run a cron job to disable delivery through your MTA of choice.

Best,
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dovecot-login.sh
Type: application/x-sh
Size: 608 bytes
Desc: 
Url : http://dovecot.org/pipermail/dovecot/attachments/20071110/0124f4b0/attachment.sh 


More information about the dovecot mailing list