<div dir="ltr">Hi!<br clear="all"><div><br></div><div>It is required to collect statistics about the time of the last IMAP and POP3 login of the user and the delivery of letters to him via lmtp.<br>The last-login plugin is perfect.<br>But I don't want to use heavy databases as the mail system service is served by the Oracle DB.<br></div><div><br></div><div>The most suitable option, as I see, is to store statistics in the sqlite DB, but after going through all the options in the configuration file, I could not use sqlite.<br></div><div><br></div><div>When writing in configuration:<br></div><div>plugin {<br>  driver=sqlite<br>  last_login_dict = sqlite:statsdb<br>  last_login_key = last-login/%s/%u/%r<br>  last_login_precision = ms<br>}<br></div><div><br></div><div>I am getting an error:<br></div><div>Oct  4 17:01:41 nms4 dovecot: imap(<a href="mailto:new_ver_test@test2.aroma.ru">new_ver_test@test2.aroma.ru</a>)<154597><q0VJ5jXq9o4KAQDI>: Error: last_login_dict: dict_init(sqlite:statsdb) failed: Unknown dict module: sqlite<br></div><div><br></div><div>I did the last-login plugin setup exactly according to the instructions:<br></div><div><a href="https://doc.dovecot.org/configuration_manual/mail_location/obox/last_login_plugin/">https://doc.dovecot.org/configuration_manual/mail_location/obox/last_login_plugin/</a><br></div><div><br></div><div>I am using standard debian packages.<br>Desperate, I built latest dovecot version from source, but got exactly the same error.<br></div><div><br></div><div>Tell me, please, is it possible to use a dictionary in sqlite format to collect last-login plugin statistics?</div><div>And how should I describe it in the configuration file?<br><br>Sincerely,<br>Oleg<br><br>Additional Information:<br></div><div><br></div><div># /sbin/dovecot --build-options<br>Build options: ioloop=epoll notify=inotify openssl io_block_size=8192<br>SQL driver plugins: mysql postgresql sqlite<br>Passdb: checkpassword ldap pam passwd passwd-file shadow sql<br>Userdb: checkpassword ldap(plugin) passwd prefetch passwd-file sql<br><br># /sbin/dovecot -n<br># 2.3.13 (89f716dc2): /etc/dovecot/dovecot.conf<br># Pigeonhole version 0.5.13 (cdd19fe3)<br># OS: Linux 5.10.0-18-amd64 x86_64 Debian 11.5 <br># Hostname: nms4.some.host<br>auth_default_realm = some.host<br>auth_verbose = yes<br>dict {<br>  statsdb = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext<br>}<br>disable_plaintext_auth = no<br>first_valid_uid = 89<br>mail_debug = yes<br>mail_gid = vmail<br>mail_location = maildir:~/Maildir<br>mail_plugins = quota<br>mail_privileged_group = mail<br>mail_uid = vmail<br>managesieve_notify_capability = mailto<br>managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext<br>namespace inbox {<br>  inbox = yes<br>  location = <br>  mailbox Drafts {<br>    special_use = \Drafts<br>  }<br>  mailbox Junk {<br>    special_use = \Junk<br>  }<br>  mailbox Sent {<br>    special_use = \Sent<br>  }<br>  mailbox "Sent Messages" {<br>    special_use = \Sent<br>  }<br>  mailbox Trash {<br>    special_use = \Trash<br>  }<br>  prefix = <br>}<br>passdb {<br>  args = username_format=%u /etc/postfix/vusers.conf<br>  driver = passwd-file<br>}<br>plugin {<br>  driver = sqlite<br>  last_login_dict = sqlite:statsdb<br>  last_login_key = # hidden, use -P to show it<br>  last_login_precision = ms<br>  quota = maildir<br>  quota_grace = 10%%<br>  sieve = file:~/sieve;active=~/.dovecot.sieve<br>}<br>protocols = " imap lmtp sieve pop3 sieve"<br>service auth {<br>  unix_listener /var/spool/postfix/private/auth {<br>    group = postfix<br>    mode = 0666<br>    user = postfix<br>  }<br>  unix_listener auth-userdb {<br>    group = vmail<br>    user = vmail<br>  }<br>}<br>service lmtp {<br>  executable = lmtp -L<br>  inet_listener lmtp {<br>    address = 10.1.0.187<br>    port = 24<br>  }<br>  process_min_avail = 5<br>  unix_listener /var/spool/postfix/private/dovecot-lmtp {<br>    group = postfix<br>    mode = 0600<br>    user = postfix<br>  }<br>  user = vmail<br>}<br>service managesieve-login {<br>  inet_listener sieve {<br>    port = 4190<br>  }<br>}<br>ssl_cert = </etc/letsencrypt/live/some.host/fullchain.pem<br>ssl_client_ca_dir = /etc/ssl/certs<br>ssl_dh = # hidden, use -P to show it<br>ssl_key = # hidden, use -P to show it<br>userdb {<br>  args = username_format=%u /etc/postfix/vusers.conf<br>  driver = passwd-file<br>  override_fields = uid=vmail gid=vmail<br>}<br>protocol lmtp {<br>  info_log_path = /var/log/dovecot-lmtp.log<br>  mail_plugins = quota sieve quota last_login<br>}<br>protocol imap {<br>  mail_plugins = quota imap_quota last_login<br>}<br>protocol sieve {<br>  managesieve_max_line_length = 64 k<br>}<br>protocol pop3 {<br>  mail_plugins = quota last_login<br>}<br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">/petol<br><a href="http://kab.tv/rus" target="_blank">http://kab.tv/rus</a></div></div>