<div dir="ltr"><div>Hi,</div><div><br></div><div>I have two Dovecot 2.3.8 (on RHEL 8.2) servers. Replication works great except in one situation.</div><div><br></div><div>What works:</div><div>* If one server receives an email, it is immediately available on the other server.</div><div>* If an email is deleted via IMAP from one server, it is immediately deleted from the other server.</div><div><br></div><div>What doesn't work:</div><div>If a user retrieves (download + delete) an email via POP3 (Thunderbird), then the mail is only deleted from the server from which it was downloaded but not from the other server. The email is only deleted from the other server in the following situations:</div><div>* If a new email arrives (triggers a sync action)</div><div>* When the next full sync happens (I temporarily set replication_full_sync_interval to "1 hour")</div><div>* When forcing a manual full sync (doveadm replicator replicate user_name)</div><div><br></div><div>If I activate debug logging (mail_debug = yes), I can immediately see a replication action when an email is deleted via IMAP. However, when an email is deleted via POP3, nothing is logged (because no replication happens).</div><div><br></div><div>Does anyone have an idea why deleting an email via POP3 isn't replicated and how to configure this?</div><div><br></div><div>Thanks for your help.</div><div>Lukas</div><div><br></div><div><br></div><div>My config (it is identical on on both servers, except of the "mail_replica" and "address" parameters):</div><div>auth_mechanisms = plain login<br>auth_username_format = %n<br>doveadm_password = # hidden, use -P to show it<br>doveadm_port = 12345<br>login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k<br>mail_gid = vmail<br>mail_home = /var/spool/dovecot/%u<br>mail_location = sdbox:/var/spool/dovecot/%u<br>mail_plugins = " notify replication"<br>mail_uid = vmail<br>managesieve_notify_capability = mailto<br>managesieve_sieve_capability = fileinto reject envelope encoded-character<br>vacation subaddress comparator-i;ascii-numeric relational regex imap4flags<br>copy include variables body enotify environment mailbox date index ihave<br>duplicate mime foreverypart extracttext<br>namespace inbox {<br>  inbox = yes<br>  location =<br>  mailbox Drafts {<br>    auto = subscribe<br>    special_use = \Drafts<br>  }<br>  mailbox Sent {<br>    auto = subscribe<br>    special_use = \Sent<br>  }<br>  mailbox Spam {<br>    auto = subscribe<br>  }<br>  mailbox Trash {<br>    auto = subscribe<br>    special_use = \Trash<br>  }<br>  prefix =<br>}<br>passdb {<br>  args = /etc/dovecot/deny.%s<br>  deny = yes<br>  driver = passwd-file<br>}<br>passdb {<br>  args = scheme=SSHA512 username_format=%n /etc/dovecot/passwd<br>  driver = passwd-file<br>}<br>plugin {<br>  mail_replica = tcps:<a href="http://server2.example.com:12345">server2.example.com:12345</a><br>  sieve = ~/sieve/.dovecot.sieve<br>}<br>protocols = imap pop3 lmtp sieve<br>replication_full_sync_interval = 1 hours<br>service aggregator {<br>  fifo_listener replication-notify-fifo {<br>    user = vmail<br>  }<br>  unix_listener replication-notify {<br>    user = vmail<br>  }<br>}<br>service auth {<br>  unix_listener /var/spool/postfix/private/auth {<br>    group = postfix<br>    mode = 0660<br>    user = postfix<br>  }<br>  unix_listener auth-userdb {<br>    mode = 0600<br>    user = vmail<br>  }<br>  user = $default_internal_user<br>}<br>service doveadm {<br>  inet_listener {<br>    address = ...<br>    port = 12345<br>    ssl = yes<br>  }<br>  user = vmail<br>}<br>service imap-login {<br>  inet_listener imap {<br>    port = 0<br>  }<br>  inet_listener imaps {<br>    address = ...<br>    port = 993<br>  }<br>}<br>service lmtp {<br>  unix_listener /var/spool/postfix/private/dovecot-lmtp {<br>    group = postfix<br>    mode = 0600<br>    user = postfix<br>  }<br>}<br>service managesieve-login {<br>  inet_listener sieve {<br>    address = ...<br>    port = 4190<br>  }<br>}<br>service pop3-login {<br>  inet_listener pop3 {<br>    port = 0<br>  }<br>  inet_listener pop3s {<br>    address = ...<br>    port = 995<br>  }<br>}<br>service replicator {<br>  process_min_avail = 1<br>  unix_listener replicator-doveadm {<br>    mode = 0600<br>    user = vmail<br>  }<br>}<br>ssl = required<br>ssl_cert = </etc/letsencrypt/live/<a href="http://server1.example.com/fullchain.pem">server1.example.com/fullchain.pem</a><br>ssl_client_ca_file = /etc/pki/tls/cert.pem<br>ssl_dh = # hidden, use -P to show it<br>ssl_key = # hidden, use -P to show it<br>ssl_min_protocol = TLSv1.2<br>ssl_options = no_compression<br>syslog_facility = local5<br>userdb {<br>  args = username_format=%n /etc/dovecot/passwd<br>  driver = passwd-file<br>  result_failure = return-fail<br>  result_internalfail = return-fail<br>}<br>protocol sieve {<br>  ssl = required<br>}<br>protocol lmtp {<br>  mail_plugins = " notify replication sieve"<br>}</div></div>