Dovecot replication not picking up new mail in maildir

jayare~dcml at videocoding.org jayare~dcml at videocoding.org
Sun Oct 25 18:19:01 EET 2020


I've got a basic dovecot master-master replication setup between two 
servers (imap1 and imap2). Actions such as deleting messages or moving 
them between folders are replicated correctly and quickly.

However, when new mail is delivered by postfix, replication does not 
occur until something else triggers it, such as one of the delete/move 
actions mentioned earlier. A search suggested this may be due to the 
notify plugin, but I don't see any issue with the settings. Output of 
doveconf -n:

# 2.2.36 (1f10bfa63): /etc/dovecot/dovecot.conf
# OS: Linux 4.19.118-0-vanilla x86_64 CentOS Linux release 7.8.2003 (Core)
# Hostname: imap1
disable_plaintext_auth = no
doveadm_password =  # hidden, use -P to show it
first_valid_uid = 1000
haproxy_trusted_networks = 172.16.0.0/24
mail_location = maildir:~/Mail
mail_plugins = zlib notify replication
mailbox_list_index = yes
mailbox_list_index_include_inbox = yes
maildir_empty_new = yes
mbox_write_locks = fcntl
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   mail_replica = tcp:imap2:9943
   replication_sync_timeout = 2
}
protocols = imap
service aggregator {
   fifo_listener replication-notify-fifo {
     mode = 0666
     user = dovecot
   }
   unix_listener replication-notify {
     mode = 0666
     user = dovecot
   }
}
service config {
   unix_listener config {
     user = dovecot
   }
}
service doveadm {
   inet_listener {
     port = 9943
   }
}
service imap-login {
   inet_listener imap_hpx {
     haproxy = yes
     port = 943
   }
}
service replicator {
   process_min_avail = 1
   unix_listener replicator-doveadm {
     mode = 0666
   }
}
ssl = no
userdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
protocol lda {
   mail_plugins = zlib notify replication
}
protocol imap {
   mail_plugins = zlib notify replication imap_zlib
}

I specifically tried setting the following as no and yes as they can 
affect notifications:

mailbox_list_index = yes
mailbox_list_index_include_inbox = yes
maildir_empty_new = yes

The other server has the same settings except obviously mail_replica = 
tcp:imap1:9943.

Any suggestions welcome, thanks!


More information about the dovecot mailing list