In molti casi è utile sapere quando un utente ha effettuato l’ultimo login via IMAP o POP ad un server di posta elettronica.
In una configurazione con Dovecot come server IMPA/POP e MySQL/MariaDB come backend per l’archivio degli utenti fin’ora era necessario utilizzare delle scappatoie per tenere traccia dell’ultima volta in cui un utente si era collegato.
Dalla versione 2.2.14 rilasciata lo scorso 14 ottobre Timo Sirainen ha aggiunto il plugin Last Login.
Al momento la documentazione del plugin è abbastanza scarna, chi volesse implementare la tracciabilità dell’ultimo login in una configurazione con Dovecot, Postfix e Postfix Admin come gestione degli utenti può procedere come segue.
Modificare la struttura della tabella mailbox
aggiungendo il campo lastlogin
di tipo unsigned integer.
Aggiungere queste righe al file conf.d/10-master.conf
:
service dict { unix_listener dict { mode = 0660 user = vmail } }
Aggiungere queste righe al file conf.d/90-plugin.conf
:
plugin { last_login_dict = proxy::lastlogin last_login_key = last-login/%u # default } dict { lastlogin = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }
Abilitare il plugin Last Login per IMAP e POP3:
protocol imap { mail_plugins = $mail_plugins last_login } protocol pop3 { mail_plugins = $mail_plugins last_login }
Aggiungere queste righe a dovecot-dict-sql.conf.ext
:
connect = [gli stessi valori di dovecot-sql.conf.ext] map { pattern = shared/last-login/$user table = mailbox username_field = username value_field = lastlogin fields { username = $user } }
Riavviare, quindi Dovecot.
Il campo lastlogin
contiene la data e ora di ultimo login in formato time(). Per il momento il valore non viene ancora visualizzato nella consolle di Postfix Admin.
Lascia un commento