I think I solved the problem by changing the treatment of plugins in the dovecot configuration.
The global definition of the mail_plugins parameter was not being loaded within protocol sessions. I added the load in all the blocks where the sessions are defined.
Now I ask, is it necessary to add in all sessions, better to say, the fts fts_solr plugins would not only be necessary in the imap protocol? This is a question to ensure less memory usage.
Below is my current configuration:
root@server01:~# doveconf -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-10-amd64 x86_64 Debian 10.5
# Hostname:
server01.example1.comauth_mechanisms = plain login
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
doveadm_port = 2727
listen = *,[::]
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = yes
mail_max_userip_connections = 100
mail_plugins = " notify replication fts fts_solr"
mail_privileged_group = vmail
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = no
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
autoexpunge = 60 days
special_use = \Junk
}
mailbox Sent {
auto = no
special_use = \Sent
}
mailbox "Sent Messages" {
auto = no
special_use = \Sent
}
mailbox Trash {
auto = subscribe
autoexpunge = 60 days
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
fts = solr
fts_solr = url=
http://localhost:8983/solr/dovecot/ mail_replica = tcp:xxx.xxx.xxx.3:2727
quota = dict:user::file:/var/vmail/%d/%n/.quotausage
sieve = /var/vmail/%d/%n/.sieve
sieve_max_redirects = 25
}
protocols = imap pop3
service aggregator {
fifo_listener replication-notify-fifo {
group = root
mode = 0660
user = vmail
}
unix_listener replication-notify {
group = root
mode = 0660
user = vmail
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0600
user = vmail
}
user = root
}
service doveadm {
inet_listener {
port = 2727
}
user = vmail
}
service imap-login {
client_limit = 1000
process_limit = 512
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
group = root
mode = 0660
user = vmail
}
}
service stats {
unix_listener stats-reader {
group = vmail
mode = 0660
user = vmail
}
unix_listener stats-writer {
group = vmail
mode = 0660
user = vmail
}
}
ssl_ca = </etc/ssl/certs/ca-certificates.crt
ssl_cert = </etc/postfix/smtpd.cert
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol imap {
mail_plugins = " notify replication fts fts_solr quota imap_quota"
}
protocol pop3 {
mail_plugins = quota
pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
mail_plugins = " notify replication fts fts_solr sieve quota"
postmaster_address = postmaster@example1.com
}
protocol lmtp {
mail_plugins = " notify replication fts fts_solr sieve quota"
postmaster_address = postmaster@example1.com
}local_name
server01.example1.com {
ssl_cert = </etc/letsencrypt/live/
server01.example1.com/fullchain.pem ssl_key = # hidden, use -P to show it
}
local_name
mail.example1.com {
ssl_cert = </etc/letsencrypt/live/
mail.example1.com/fullchain.pem ssl_key = # hidden, use -P to show it
}
local_name
mail.example2.com {
ssl_cert = </etc/letsencrypt/live/
mail.example2.com/fullchain.pem ssl_key = # hidden, use -P to show it
}