[Solved] Mail Sync not working

Discussion in 'General' started by Marmal, May 4, 2024.

  1. Marmal

    Marmal New Member

    Hi Guys,

    I'm in a loss here...
    I folowed the perfect multiserver setup guide to setup my servers... well almost because I did not need the DNS part.

    All server are running on Debian 12 ISPConfig 3.2.11p2
    It work fine except for the mail servers namely mx1 & mx2.
    The issue I have is they did not syncronize at all.

    When I create a new mailbox on the webpanel the mailbox is successfully created on both mx1 & mx2 server and the welcom mail is received but only for mx1 (I assume is the normal process since mx1 is the master mail server)
    Then nothing... if I target mx1 directly on Roundcube I can see the email.
    However if I target mx2 nothing, no mails.

    Sending and receiving mail does work, but you can see mails only on mx1.
    As for sending mail are sent but does not appear on the other server.
    Sent from Roundcube mx1 => nothing on mx2
    Sent from Rc mx2 => not on mx1

    And yes Roundcube as is own server "webmail".

    It seems that both server do not sync properly.


    .. So some datas :
    Since I suspected the sync issue I checked by creating a new email domain then a new mailbox.
    Here the replicator status on both server
    Code:
    @mx1:~# doveadm replicator status *
    username                                        priority fast sync full sync success sync failed
    [email protected]                                none     00:01:21  00:06:21  -            y
    
    mx2:~# doveadm mailbox status -u testdoveadm replicator status *
    username                               priority fast sync full sync success sync failed
    [email protected]                       none     00:00:32  00:05:32  -            -
    
    So the sync failed.

    then i tried to force it manually
    Code:
    mx1:~/t# doveadm -D sync -u [email protected] -d
    Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
    Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)
    Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message)
    Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_sieve_plugin.so
    Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message)
    Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message)
    Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message)
    2024-05-04 00:19:52 Debug: Loading modules from directory: /usr/lib/dovecot/modules
    2024-05-04 00:19:52 Debug: Module loaded: /usr/lib/dovecot/modules/lib10_quota_plugin.so
    2024-05-04 00:19:52 Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm
    2024-05-04 00:19:52 Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined symbol: acl_user_module (this is usually intentional, so just ignore this message)
    2024-05-04 00:19:52 Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so
    2024-05-04 00:19:52 Debug: Skipping module doveadm_fts_lucene_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_lucene_plugin.so: undefined symbol: lucene_index_iter_deinit (this is usually intentional, so just ignore this message)
    2024-05-04 00:19:52 Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_user_get_language_list (this is usually intentional, so just ignore this message)
    2024-05-04 00:19:52 Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/libdoveadm_mail_crypt_plugin.so: undefined symbol: mail_crypt_box_get_pvt_digests (this is usually intentional, so just ignore this message)
    2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): Started passdb lookup
    2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: conn unix:/run/dovecot/auth-userdb: Connecting
    2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: conn unix:/run/dovecot/auth-userdb (pid=188474,uid=0): Client connected (fd=9)
    2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): auth PASS input: [email protected]
    2024-05-04 00:19:52 doveadm([email protected]): Debug: auth-master: passdb lookup([email protected]): Finished passdb lookup ([email protected] )
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): Started userdb lookup
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): auth USER input: [email protected] home=/var/vmail/exemple.com/test mail=maildir:/var/vmail/exemple.com/test/Maildir uid=5000 gid=5000 quota_rule=*:storage=0B sieve=/var/vmail/exemple.com/test/.sieve
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: auth-master: userdb lookup([email protected]): Finished userdb lookup ([email protected] home=/var/vmail/exemple.com/test mail=maildir:/var/vmail/exemple.com/test/Maildir uid=5000 gid=5000 quota_rule=*:storage=0B sieve=/var/vmail/exemple.com/test/.sieve)
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: mail=maildir:/var/vmail/exemple.com/test/Maildir
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: plugin/quota_rule=*:storage=0B
    2024-05-04 00:19:52 doveadm([email protected])<339096><>: Debug: Added userdb setting: plugin/sieve=/var/vmail/exemple.com/test/.sieve
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Effective uid=5000, gid=5000, home=/var/vmail/exemple.com/test
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota root: name=user backend=dict args=:file:/var/vmail/exemple.com/test/.quotausage
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota rule: root=user mailbox=* bytes=0 messages=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Quota grace: root=user bytes=0 (10%)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: quota-dict: [email protected], uri=file:/var/vmail/exemple.com/test/.quotausage, noenforcing=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): dict created (uri=file:/var/vmail/exemple.com/test/.quotausage, base_dir=/run/dovecot)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: open(/proc/self/io) failed: Permission denied
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Namespace inbox: type=private, prefix=, sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/vmail/exemple.com/test/Maildir
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: maildir++: root=/var/vmail/exemple.com/test/Maildir, index=, indexpvt=, control=, inbox=/var/vmail/exemple.com/test/Maildir, alt=
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: quota: quota_over_flag check: quota_over_script unset - skipping
    2024-05-04 00:19:52 doveadm([email protected]): Debug: brain M: Namespace  has location maildir:/var/vmail/exemple.com/test/Maildir
    2024-05-04 00:19:52 doveadm([email protected]): Debug: Mailbox INBOX: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected]): Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected]): Debug: Namespace : Using permissions from /var/vmail/exemple.com/test/Maildir: mode=0700 gid=default
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Sent guid=1b46ce287d603566772905006ef8f80c uid_validity=1714774144 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Drafts guid=1846ce287d603566772905006ef8f80c uid_validity=1714774141 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Trash guid=1946ce287d603566772905006ef8f80c uid_validity=1714774142 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: Junk guid=1a46ce287d603566772905006ef8f80c uid_validity=1714774143 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Local mailbox tree: INBOX guid=1c46ce287d603566772905006ef8f80c uid_validity=1714774145 uid_next=2 subs=no last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Drafts guid=a2d7e3217d603566d12a0500a2693ea0 uid_validity=1714774143 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Trash guid=a3d7e3217d603566d12a0500a2693ea0 uid_validity=1714774144 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Junk guid=a4d7e3217d603566d12a0500a2693ea0 uid_validity=1714774145 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: Sent guid=a1d7e3217d603566d12a0500a2693ea0 uid_validity=1714774142 uid_next=1 subs=yes last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Remote mailbox tree: INBOX guid=a0d7e3217d603566d12a0500a2693ea0 uid_validity=1714774141 uid_next=1 subs=no last_change=0 last_subs=0
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Drafts: local=1846ce287d603566772905006ef8f80c/0/1, remote=a2d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox INBOX: local=1c46ce287d603566772905006ef8f80c/0/1, remote=a0d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Junk: local=1a46ce287d603566772905006ef8f80c/0/1, remote=a4d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Sent: local=1b46ce287d603566772905006ef8f80c/0/1, remote=a1d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Mailbox Trash: local=1946ce287d603566772905006ef8f80c/0/1, remote=a3d7e3217d603566d12a0500a2693ea0/0/1: GUIDs conflict - will be merged later
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Drafts/dovecot.index.log (seq=6, reset=yes)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Rotated transaction log /var/vmail/exemple.com/test/Maildir/dovecot.index.log (seq=6, reset=yes)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Junk/dovecot.index.log (seq=6, reset=yes)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Sent/dovecot.index.log (seq=6, reset=yes)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Rotated transaction log /var/vmail/exemple.com/test/Maildir/.Trash/dovecot.index.log (seq=6, reset=yes)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Drafts: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a2d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox INBOX: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a0d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Junk: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a4d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Sent: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a1d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: Mailbox Trash: Mailbox opened
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: brain M: Change during sync: Remote lost mailbox GUID a3d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Warning: Mailbox changes caused a desync. You may want to run dsync again: Remote lost mailbox GUID a2d7e3217d603566d12a0500a2693ea0 (maybe it was just deleted?)
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: User session is finished
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): Waiting for dict to finish pending operations
    2024-05-04 00:19:52 doveadm([email protected])<339096><ny+7FQhjNWaYLAUAomk+oA>: Debug: dict(file): dict destroyed
    2024-05-04 00:19:52 doveadm(339096): Debug: auth-master: conn unix:/run/dovecot/auth-userdb (pid=188474,uid=0): Disconnected: Connection closed (fd=9)
    It looked like the guid are not identical for some reason...


    So I also checked that
    Code:
    mx1:~# doveadm mailbox status -u [email protected] guid '*'
    Junk guid=a4d7e3217d603566d12a0500a2693ea0
    Trash guid=a3d7e3217d603566d12a0500a2693ea0
    Drafts guid=a2d7e3217d603566d12a0500a2693ea0
    Sent guid=a1d7e3217d603566d12a0500a2693ea0
    INBOX guid=a0d7e3217d603566d12a0500a2693ea0
    
    mx2:~# doveadm mailbox status -u [email protected] guid '*'
    Sent guid=1b46ce287d603566772905006ef8f80c
    Junk guid=1a46ce287d603566772905006ef8f80c
    Trash guid=1946ce287d603566772905006ef8f80c
    Drafts guid=1846ce287d603566772905006ef8f80c
    INBOX guid=1c46ce287d603566772905006ef8f80c
    Indeed they are diferent ...
    So now what ? :(

    I honestly can't pinpoint why it doesn't work as expected and I am two step away to forget about the second server and go to only one at this point.
    So if you have any idea some help would be greatly apreciated ;)

    Tell me if you need any datas / log / command


    Thanks
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

  3. Marmal

    Marmal New Member

    Thanks for the quick answer.
    sadly it doesn't worked
    Here are the results :
    Code:
    mx1:~# doveadm sync -u [email protected] -f '*'
    ssh: Could not resolve hostname *: Bad value for ai_flags
    doveadm([email protected])<371935><R1Q8Nlr4NWbfrAUAomk+oA>: Error: read(remote) failed: EOF (version not received)
    doveadm([email protected])<371935><R1Q8Nlr4NWbfrAUAomk+oA>: Error: Remote command returned error 255: ssh * doveadm dsync-server [email protected] -U
    I have absolutely no idea why this error pops up
    But as a side note, SSH is only available for local machine, root connexion is locked, so you have to "su -" on a non sudoer user.


    Code:
    mx1:~# doveadm force-resync -u [email protected] -f '*'
    doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Junk/dovecot.index
    doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Trash/dovecot.index
    doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Drafts/dovecot.index
    doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/.Sent/dovecot.index
    doveadm([email protected]): Warning: fscking index file /var/vmail/exemple.com/test/Maildir/dovecot.index
    Looked like it worked so i did a status check

    Code:
    mx1:~# doveadm replicator status *
    username                                        priority fast sync full sync success sync failed
    [email protected]                                none     00:03:06  10:48:13  -            y
    
    mx2:~# doveadm replicator status *
    username                               priority fast sync full sync success sync failed
    [email protected]                       none     00:04:33  10:59:41  -            -
    
    Also the command
    Code:
    doveadm -D sync -u [email protected] -d
    Produce basically the same result as before
     
  4. Marmal

    Marmal New Member

    So I reinstalled mx1, mx2 & the webserver today.
    And I still have the same GUID Conflict issue

    I have no idea what can be the cause
     
  5. Marmal

    Marmal New Member

    I tested some more things and surprise surprise what I did work withour any issue.
    So basically I did it maunaly.
    Adding a mail_user in DB
    then :
    Code:
    root@mx1:~# doveadm mailbox create -u [email protected] INBOX
    root@mx1:~# doveadm mailbox create -u [email protected] Sent
    root@mx1:~# doveadm mailbox create -u [email protected] Trash
    root@mx1:~# doveadm mailbox create -u [email protected] Junk
    root@mx1:~# doveadm mailbox create -u [email protected] Drafts
    root@mx1:~# doveadm mailbox subscribe -u [email protected] INBOX
    root@mx1:~# doveadm mailbox subscribe -u [email protected] Sent
    root@mx1:~# doveadm mailbox subscribe -u [email protected] Trash
    root@mx1:~# doveadm mailbox subscribe -u [email protected] Junk
    root@mx1:~# doveadm mailbox subscribe -u [email protected] Drafts
    root@mx1:~# doveadm sync -u [email protected] -d
    and the result :
    Code:
    root@mx1:~# doveadm mailbox status -u [email protected] guid '*'
    Drafts guid=20d5121b55a636666ad00200a2693ea0
    Junk guid=83610e1e4ca6366669d00200a2693ea0
    Trash guid=72e76c0e44a6366654d00200a2693ea0
    Sent guid=be2371033da6366651d00200a2693ea0
    INBOX guid=5d8de73a74a4366652cf0200a2693ea0
    
    root@mx2:~# doveadm mailbox status -u [email protected] guid '*'
    Trash guid=72e76c0e44a6366654d00200a2693ea0
    Sent guid=be2371033da6366651d00200a2693ea0
    Junk guid=83610e1e4ca6366669d00200a2693ea0
    Drafts guid=20d5121b55a636666ad00200a2693ea0
    INBOX guid=5d8de73a74a4366652cf0200a2693ea0
    I haven't try to force a guid yet but I think it will be way more complex than this since you have to keep track of each Guid for each mailbox to report on the other server.

    So I assume that when creating an email in ISPConfig panel, the create is done on each of the two (or possibly more) servers
    and since they are created without explicit guid it create this issue
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    There have not been any issues with the way ISPConfig creates replicated mailboxes yet, but maybe Dovecot changed its behavior in recent versions, and we have to change the way ISPConfig works for that.
     
  7. Marmal

    Marmal New Member

    Yes exactly my thought
    Why did something break if you don't change the way it is endeled.

    Just a preliminary check as I can't do a complete analysis and test ATM

    So debian 12 as of today come with this version :
    Code:
    mx1:~# dovecot --version
    2.3.19.1 (9b53102964)
    
    However afer a quick check on github for dovecot relesenote :
    Code:
    v2.3.20 2022-12-22  Aki Tuomi <[email protected]>
    [..]
        - dsync: Couldn't always fix folder GUID conflicts automatically with
          Maildir format. This resulted in replication repeatedly failing
          with "Remote lost mailbox GUID".
        - dsync: Failed to migrate INBOX when using namespace prefix=INBOX/,
          resulting in "Remote lost mailbox GUID" errors.
        - dsync: INBOX was created too early with namespace prefix=INBOX/,
          resulting a GUID conflict. This may have been resolved automatically,
          but not always.
    [...]
    
    Would you look at that ... It seems somewhat related

    So next step, update dovecot to a newer version to see if it solve this issue.
     
  8. michelangelo

    michelangelo Active Member

    I think I have to point out an unpleasant issue here:

    The replication feature will be removed in newer Dovecot versions!
    Dovecot 2.3 will be the last version that supports it.

    Instead it is recommended to use shared filesystems with a Lua-based Director, if one doesn't want to purchase Dovecot Pro licenses.
     
  9. till

    till Super Moderator Staff Member ISPConfig Developer

    Hmm, that's sad, indeed. It's not an issue for ISPConfig directly as a shared filesystem setup was what we originally used in the past. But using Dovecot sync was just a nicer option to achieve replication.
     
  10. michelangelo

    michelangelo Active Member

    Yeah, it is actually a shame.
    I have a Dovecot replication setup with mdbox storage format but based on Dovecot 2.2 which runs rock-solid, but now I need to find a new solution too.

    Also nobody knows how long Dovecot 2.3 will get support. Dovecot 2.4 should have been released already a year ago but was delayed due to configuration changes for Dovecot 2.4/3.0, according to a message from Aki Tuomi on the Dovecot mailinglist on 05/04/2024.
     
    Last edited: May 6, 2024
  11. michelangelo

    michelangelo Active Member

    Speaking of Dovecot 2.3 it is generally a good idea to use a recent version of Dovecot.
    But I would always let some time pass before updating/upgrading. See it as some sort of prevention, in case a new minor release introduces bugs that mess up dsync replication.
     
  12. till

    till Super Moderator Staff Member ISPConfig Developer

    Are you aware of any other major features that shell get removed from Dovecot?
     
  13. michelangelo

    michelangelo Active Member

    Marmal and till like this.
  14. till

    till Super Moderator Staff Member ISPConfig Developer

    I guess the removal of the dict quota will affect us as well; at least there is an alternative.
     
  15. Marmal

    Marmal New Member

    Sorry for the long delay...

    As far as I can see only "dsync" will be removed and "sync" will stay at least for 2.4/3.0
    No idea how you will have to replace "dict quota" with "count" + plugin but there doesn't seem to have any easy way out :/

    Since I did my testing and It was a succes I will edit my first post with a solution... not pretty but it work.
     
  16. michelangelo

    michelangelo Active Member

    No, not just the command dsync will be removed.
    Replicator, the actual important part for dsync replication will be removed as well, but I'm glad to hear you could get the replication working.
    Let's pray that they don't immediately drop the support on Dovecot 2.3 when Dovecot 2.4 is released.
     
  17. Marmal

    Marmal New Member

    Haven't see that one sorry.
    Well it is basically changing to a version that work but I also tested a whole lot of things to make sure and hopefully help somone else.
     
  18. Marmal

    Marmal New Member

    Here the "Solution" :

    I will say it since there is no way around it :
    It is Debian & Dovecot fault ....
    Dovecot 2.3.18 to 2.3.19.1 have both an issue on "sync"/"dsync" and are unable to merge multiple mailbox.
    Debian 12 come with 2.3.19.1 in stable with in that case is Not.

    So you currently have multiple solutions :
    Code:
    [*]Revert to Debian 11.
    [*]Stay on debian 12 and update dovecot package and dependencies to testing making some sorte of frankendebian...
    [*]Stay on debian 12 and downgrade dovecot to 2.3.17.1.
    [*]Wait for debian 13 or dovecot 2.3.21 to hit stable ? (as of right now, I am not to sure how long you will be wainting...).
    [*]Go to Ubuntu 22.04 (dovecot 2.3.17.1).
    [*]Go to Ubuntu 24.04 [once supported by ISPConfig (It was release ~ a month ago at the time I am writing this)] (dovecot 2.3.21).
    [*]Use Dovecot source.
    
    Code:
    Important note for those who haven't checked the thread !
    Dovecot 2.4 and upper will not support sync
    So depending on wich stable version will be available it may or may not be an option tu upgrade dovecot.
    At least if ISPConfig team continue to support this feature, else it will be up to you to configure it to fit your need.
    
     
    Sebas11, ahrasis and till like this.
  19. till

    till Super Moderator Staff Member ISPConfig Developer

    We are waiting for Rspamd to be released for Ubuntu 24.04 as we use the Rspamd package from Rspamd directly and not Ubuntu. But it seems there is some movement in Rspamd GIT in this regard, so we hopefully have all requirements for ISPConfig ready to support Ubuntu 24.04.
     
    ahrasis and Marmal like this.
  20. Marmal

    Marmal New Member

    Good to know !
    I am not willing to switch in the short time but maybe at some point.

    Edited the thread title as solved to let other know ther is a solution in the meantime.
     

Share This Page