<div dir="ltr">Hello,<div><br></div><div>I migrated our mail infrastructure to Dovecot on Ubuntu 18.04 some months ago. It works fine, but recently some users told me that they sometime receive duplicated emails. Same email content, same headers including message-id.</div><div><br></div><div>I'm using two dovecot servers on two sites. Both server are in cluster. We don't use shared folders. All users that reported this issue so far are using the same server instance. The problematic  emails are coming from local users on that instance too. The examples they given to me was emails with many recipients (To/CC). A specific message can be received twice (or more) by recipient A but only once by recipient B. I didn't see anything in the logs about sieve rules that redirect emails to others recipients.</div><div><br></div><div>Where should I look to diagnostic this issue?</div><div><br></div><div>Thanks.</div><div><br></div><div>Server config:</div><div># 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf<br># Pigeonhole version 0.4.21 (92477967)<br>doveconf: Warning: service auth { client_limit=1000 } is lower than required under max. load (2500)<br>doveconf: Warning: service anvil { client_limit=1000 } is lower than required under max. load (1503)<br># OS: Linux 4.15.0-60-generic x86_64 Ubuntu 18.04.3 LTS <br>auth_default_realm = **edited**<br>auth_master_user_separator = *<br>auth_mechanisms = plain login<br>default_process_limit = 500<br>first_valid_uid = 200<br>last_valid_uid = 200<br>mail_location = mbox:~/mail:INBOX=/var/mail/%u<br>mail_plugins = " notify replication zlib quota"<br>mail_privileged_group = mail<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 vnd.dovecot.debug<br>mdbox_rotate_size = 10 M<br>namespace inbox {<br>  inbox = yes<br>  location = <br>  mailbox "Éléments envoyés" {<br>    special_use = \Sent<br>  }<br>  mailbox "Éléments supprimés" {<br>    special_use = \Trash<br>  }<br>  mailbox Brouillon {<br>    special_use = \Drafts<br>  }<br>  mailbox "Courrier indésirable" {<br>    special_use = \Junk<br>  }<br>  mailbox Drafts {<br>    auto = subscribe<br>    special_use = \Drafts<br>  }<br>  mailbox Junk {<br>    auto = subscribe<br>    special_use = \Junk<br>  }<br>  mailbox Sent {<br>    auto = subscribe<br>    special_use = \Sent<br>  }<br>  mailbox "Sent Messages" {<br>    special_use = \Sent<br>  }<br>  mailbox Trash {<br>    auto = subscribe<br>    special_use = \Trash<br>  }<br>  prefix = INBOX/<br>  separator = /<br>}<br>passdb {<br>  args = /etc/dovecot/dovecot-ldap.conf.ext<br>  driver = ldap<br>}<br>passdb {<br>  args = /etc/dovecot/passwd.masterusers<br>  driver = passwd-file<br>  master = yes<br>}<br>plugin {<br>  mail_replica = tcps:**edited**:53683<br>  quota = count:User quota<br>  quota_grace = 10%%<br>  quota_rule = *:storage=10G<br>  quota_rule2 = INBOX/Trash:storage=+100M<br>  quota_status_nouser = DUNNO<br>  quota_status_overquota = 552 5.2.2 La boite courriel du destinataire est pleine - Mailbox is full<br>  quota_status_success = DUNNO<br>  quota_vsizes = yes<br>  quota_warning = storage=100%% quota-warning 100 %u<br>  quota_warning2 = storage=95%% quota-warning 95 %u<br>  quota_warning3 = storage=90%% quota-warning 90 %u<br>  quota_warning4 = storage=85%% quota-warning 85 %u<br>  quota_warning5 = storage=75%% quota-warning 75 %u<br>  quota_warning6 = -storage=80%% quota-warning '-80' %u<br>  quota_warning7 = -storage=100%% quota-warning '-100' %u<br>  sieve = /var/vmail/domains/%Ld/%Ln/.dovecot.sieve<br>  sieve_before = /var/vmail/sieve/before.sieve<br>  sieve_default = /var/vmail/sieve/default.sieve<br>  sieve_extensions = +vnd.dovecot.debug<br>  sieve_global = /var/vmail/sieve/global<br>  zlib_save = lz4<br>}<br>protocols = " imap lmtp sieve"<br>service auth {<br>  unix_listener /var/spool/postfix/private/auth {<br>    mode = 0666<br>  }<br>  unix_listener auth-userdb {<br>    group = vmail<br>    mode = 0666<br>    user = vmail<br>  }<br>}<br>service imap-login {<br>  inet_listener imap {<br>    port = 0<br>  }<br>  process_min_avail = 10<br>}<br>service lmtp {<br>  unix_listener /var/spool/postfix/private/dovecot-lmtp {<br>    group = postfix<br>    mode = 0660<br>    user = postfix<br>  }<br>}<br>service quota-status {<br>  client_limit = 1<br>  executable = quota-status -p postfix<br>  inet_listener {<br>    address = **edited**<br>    port = 53684<br>  }<br>}<br>service quota-warning {<br>  executable = script /usr/local/bin/quota-warning.sh<br>  unix_listener quota-warning {<br>    user = vmail<br>  }<br>}<br>ssl = required<br>ssl_cert = </etc/ssl/**edited**/**edited**.crtbundle<br>ssl_client_ca_dir = /etc/ssl/certs<br>ssl_key =  # hidden, use -P to show it<br>userdb {<br>  args = /etc/dovecot/dovecot-ldap.conf.ext<br>  driver = ldap<br>}<br>protocol lmtp {<br>  mail_plugins = " notify replication zlib quota sieve"<br>  postmaster_address = postmaster@**edited**<br>}<br>protocol imap {<br>  mail_plugins = " notify replication zlib quota imap_zlib imap_quota"<br>}<br></div><div><br></div><div>-- <br>Francis</div><div><br></div></div>