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