Can you try doveadm -fjson mailbox list -u user INBOX/*
Aki On 15.08.2018 09:29, Ralf Becker wrote: > Am 14.08.18 um 18:51 schrieb Aki Tuomi: >> Try >> >> doveadm mailbox list -u user INBOX/* > Hmm, posted that before, it lists all these undeletable mailboxes: > > root@ka-nfs-mail:~# doveadm mailbox list -u <username> 'INBOX/*' | grep > hbereich > INBOX/[Fachbereiche > INBOX/Fachbereiche > INBOX/hbereiche > INBOX/hbereiche/LAGen] > INBOX/hbereiche/LAG > INBOX/[Fachbereiche > INBOX/[Fachbereiche/LAGen] > INBOX/[Fachbereiche] > INBOX/[Fachbereiche]/LAGen] > INBOX/[Fachbereiche]/LAGe > > When I try deleting it, everything looks ok: > > root@ka-nfs-mail:~# doveadm mailbox delete -u <username> > 'INBOX/Fachbereiche ' > doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche > > But listing the mailboxes shows it's still there: > > root@ka-nfs-mail:~# doveadm mailbox list -u <username> 'INBOX/*' 2>&1 | > grep hbereich > INBOX/[Fachbereiche > INBOX/Fachbereiche > INBOX/hbereiche > INBOX/hbereiche/LAGen] > INBOX/hbereiche/LAG > INBOX/[Fachbereiche > INBOX/[Fachbereiche/LAGen] > INBOX/[Fachbereiche] > INBOX/[Fachbereiche]/LAGen] > INBOX/[Fachbereiche]/LAGe > > Ralf > >> Aki >> >>> On 14 August 2018 at 19:20 Ralf Becker <[email protected]> wrote: >>> >>> >>> Hi Aki, >>> >>> Am 14.08.18 um 16:42 schrieb Aki Tuomi: >>>> Hi, >>>> >>>> the thing I'm actually looking for is that whether the sync causes the >>>> folder to be restored, so it might be a better idea for you to try and >>>> spot this from the logs. I assume that as an SP that you are using >>>> mail_log plugin, so that might be useful to spot if this happens. You can >>>> also try looking at the UIDVALIDITY value of the folder, it usually >>>> corresponds to the creation unixtime. >>> Hmm, I dont get a mailbox status for the folder 'INBOX/Fachbereiche ' >>> (trailing space): >>> >>> root@ka-nfs-mail:~# doveadm -Dv mailbox status -u <username> all >>> 'INBOX/Fachbereiche ' >>> Debug: Loading modules from directory: /usr/lib/dovecot >>> Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so >>> Debug: Loading modules from directory: /usr/lib/dovecot/doveadm >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so >>> Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: >>> Error relocating >>> /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: >>> expire_set_lookup: symbol not found (this is usually intentional, so >>> just ignore this message) >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so >>> Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: >>> Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: >>> fts_backend_rescan: symbol not found (this is usually intentional, so >>> just ignore this message) >>> Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() >>> failed: Error relocating >>> /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: >>> mail_crypt_box_get_public_key: symbol not found (this is usually >>> intentional, so just ignore this message) >>> doveadm(<username> 43723): Debug: Added userdb setting: >>> plugin/master_user=<username> >>> doveadm(<username> 43723): Debug: Added userdb setting: >>> plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender >>> 2017@<domain>,lgs@<domain> >>> doveadm(<username> 43723): Debug: Added userdb setting: >>> plugin/userdb_quota_rule=*:bytes=15728640000 >>> doveadm(<username>): Debug: Effective uid=90, gid=101, >>> home=/var/dovecot/imap/<domain>/<user> >>> doveadm(<username>): Debug: Quota root: name=User quota backend=dict >>> args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota >>> doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* >>> bytes=107374182400 messages=0 >>> doveadm(<username>): Debug: Quota grace: root=User quota >>> bytes=10737418240 (10%) >>> doveadm(<username>): Debug: dict quota: user=<username>, >>> uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 >>> doveadm(<username>): Debug: Namespace inboxes: type=private, >>> prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no >>> location=mdbox:~/mdbox >>> doveadm(<username>): Debug: fs: >>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>> control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 1 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: Namespace users: type=shared, >>> prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no >>> location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u >>> doveadm(<username>): Debug: shared: root=/run/dovecot, index=, >>> indexpvt=, control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 0 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: Namespace subs: type=private, prefix=, >>> sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes >>> location=mdbox:~/mdbox >>> doveadm(<username>): Debug: fs: >>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>> control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 1 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: quota: quota_over_flag check: >>> quota_over_script unset - skipping >>> doveadm(<username>): Debug: INBOX/Fachbereiche : Mailbox opened because: >>> mailbox status >>> doveadm(<username>): Error: Mailbox INBOX/Fachbereiche : Failed to >>> lookup mailbox status: Mailbox doesn't exist: INBOX/Fachbereiche >>> >>> While mailbox list still lists it: >>> >>> root@ka-nfs-mail:~# doveadm -Dv mailbox list -u <username> >>> 'INBOX/Fachbereiche ' >>> Debug: Loading modules from directory: /usr/lib/dovecot >>> Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so >>> Debug: Loading modules from directory: /usr/lib/dovecot/doveadm >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so >>> Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: >>> Error relocating >>> /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: >>> expire_set_lookup: symbol not found (this is usually intentional, so >>> just ignore this message) >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so >>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so >>> Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: >>> Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: >>> fts_backend_rescan: symbol not found (this is usually intentional, so >>> just ignore this message) >>> Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() >>> failed: Error relocating >>> /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: >>> mail_crypt_box_get_public_key: symbol not found (this is usually >>> intentional, so just ignore this message) >>> doveadm(<username> 46127): Debug: Added userdb setting: >>> plugin/master_user=<username> >>> doveadm(<username> 46127): Debug: Added userdb setting: >>> plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender >>> 2017@<domain>,lgs@<domain> >>> doveadm(<username> 46127): Debug: Added userdb setting: >>> plugin/userdb_quota_rule=*:bytes=15728640000 >>> doveadm(<username>): Debug: Effective uid=90, gid=101, >>> home=/var/dovecot/imap/<domain>/<user> >>> doveadm(<username>): Debug: Quota root: name=User quota backend=dict >>> args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota >>> doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* >>> bytes=107374182400 messages=0 >>> doveadm(<username>): Debug: Quota grace: root=User quota >>> bytes=10737418240 (10%) >>> doveadm(<username>): Debug: dict quota: user=<username>, >>> uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 >>> doveadm(<username>): Debug: Namespace inboxes: type=private, >>> prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no >>> location=mdbox:~/mdbox >>> doveadm(<username>): Debug: fs: >>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>> control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 1 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: Namespace users: type=shared, >>> prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no >>> location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u >>> doveadm(<username>): Debug: shared: root=/run/dovecot, index=, >>> indexpvt=, control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 0 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: Namespace subs: type=private, prefix=, >>> sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes >>> location=mdbox:~/mdbox >>> doveadm(<username>): Debug: fs: >>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>> control=, inbox=, alt= >>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>> doveadm(<username>): Debug: acl: acl username = <username> >>> doveadm(<username>): Debug: acl: owner = 1 >>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>> doveadm(<username>): Debug: quota: quota_over_flag check: >>> quota_over_script unset - skipping >>> INBOX/Fachbereiche >>> >>> Is there some kind of index for existing mailboxes which needs rebuilding? >>> >>> Ralf >>> >>>> Aki >>>> >>>>> On 14 August 2018 at 17:18 Ralf Becker <[email protected]> wrote: >>>>> >>>>> >>>>> Hi Aki, >>>>> >>>>> thanks for looking into this :) >>>>> >>>>> Am 14.08.18 um 15:15 schrieb Aki Tuomi: >>>>>> can you turn on mail_debug=yes and run doveadm -Dv mailbox delete and >>>>>> provide output and logs from both servers? >>>>> root@ka-nfs-mail:~# doveadm -Dv mailbox delete -u h 'INBOX/Fachbereiche ' >>>>> Debug: Loading modules from directory: /usr/lib/dovecot >>>>> Debug: Module loaded: /usr/lib/dovecot/lib01_acl_plugin.so >>>>> Debug: Module loaded: /usr/lib/dovecot/lib10_quota_plugin.so >>>>> Debug: Module loaded: /usr/lib/dovecot/lib15_notify_plugin.so >>>>> Debug: Module loaded: /usr/lib/dovecot/lib20_mail_log_plugin.so >>>>> Debug: Module loaded: /usr/lib/dovecot/lib20_replication_plugin.so >>>>> Debug: Loading modules from directory: /usr/lib/dovecot/doveadm >>>>> Debug: Module loaded: /usr/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so >>>>> Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: >>>>> Error relocating >>>>> /usr/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: >>>>> expire_set_lookup: symbol not found (this is usually intentional, so >>>>> just ignore this message) >>>>> Debug: Module loaded: >>>>> /usr/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so >>>>> Debug: Module loaded: >>>>> /usr/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so >>>>> Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: >>>>> Error relocating /usr/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: >>>>> fts_backend_rescan: symbol not found (this is usually intentional, so >>>>> just ignore this message) >>>>> Debug: Skipping module doveadm_mail_crypt_plugin, because dlopen() >>>>> failed: Error relocating >>>>> /usr/lib/dovecot/doveadm/libdoveadm_mail_crypt_plugin.so: >>>>> mail_crypt_box_get_public_key: symbol not found (this is usually >>>>> intentional, so just ignore this message) >>>>> doveadm(<username>): Debug: auth PASS input: >>>>> doveadm(<username> 32679): Debug: auth USER input: <username> >>>>> userdb_quota_rule=*:bytes=15728640000 master_user=<username> >>>>> userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender >>>>> 2017@<domain>,lgs@<domain> home=/var/dovecot/imap/<domain>/<user> >>>>> doveadm(<username> 32679): Debug: Added userdb setting: >>>>> plugin/master_user=<username> >>>>> doveadm(<username> 32679): Debug: Added userdb setting: >>>>> plugin/userdb_acl_groups=koakram@<domain>,wahlkampfnetzwerk@<domain>,wahlkalender >>>>> 2017@<domain>,lgs@<domain> >>>>> doveadm(<username> 32679): Debug: Added userdb setting: >>>>> plugin/userdb_quota_rule=*:bytes=15728640000 >>>>> doveadm(<username>): Debug: Effective uid=90, gid=101, >>>>> home=/var/dovecot/imap/<domain>/<user> >>>>> doveadm(<username>): Debug: Quota root: name=User quota backend=dict >>>>> args=:ns=INBOX/:file:/var/dovecot/imap/<domain>/<user>/dovecot-quota >>>>> doveadm(<username>): Debug: Quota rule: root=User quota mailbox=* >>>>> bytes=107374182400 messages=0 >>>>> doveadm(<username>): Debug: Quota grace: root=User quota >>>>> bytes=10737418240 (10%) >>>>> doveadm(<username>): Debug: dict quota: user=<username>, >>>>> uri=file:/var/dovecot/imap/<domain>/<user>/dovecot-quota, noenforcing=0 >>>>> doveadm(<username>): Debug: Namespace inboxes: type=private, >>>>> prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=no >>>>> location=mdbox:~/mdbox >>>>> doveadm(<username>): Debug: fs: >>>>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>>>> control=, inbox=, alt= >>>>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>>>> doveadm(<username>): Debug: acl: acl username = <username> >>>>> doveadm(<username>): Debug: acl: owner = 1 >>>>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>>>> doveadm(<username>): Debug: Namespace users: type=shared, >>>>> prefix=user/%n/, sep=/, inbox=no, hidden=no, list=yes, subscriptions=no >>>>> location=mdbox:%h/mdbox:INDEXPVT=~/shared/%u >>>>> doveadm(<username>): Debug: shared: root=/run/dovecot, index=, >>>>> indexpvt=, control=, inbox=, alt= >>>>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>>>> doveadm(<username>): Debug: acl: acl username = <username> >>>>> doveadm(<username>): Debug: acl: owner = 0 >>>>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>>>> doveadm(<username>): Debug: Namespace subs: type=private, prefix=, >>>>> sep=/, inbox=no, hidden=yes, list=no, subscriptions=yes >>>>> location=mdbox:~/mdbox >>>>> doveadm(<username>): Debug: fs: >>>>> root=/var/dovecot/imap/<domain>/<user>/mdbox, index=, indexpvt=, >>>>> control=, inbox=, alt= >>>>> doveadm(<username>): Debug: acl: initializing backend with data: vfile >>>>> doveadm(<username>): Debug: acl: acl username = <username> >>>>> doveadm(<username>): Debug: acl: owner = 1 >>>>> doveadm(<username>): Debug: acl vfile: Global ACLs disabled >>>>> doveadm(<username>): Debug: quota: quota_over_flag check: >>>>> quota_over_script unset - skipping >>>>> doveadm(<username>): Debug: INBOX/Fachbereiche : Mailbox opened because: >>>>> mailbox delete >>>>> doveadm(<username>): Debug: acl vfile: file >>>>> /var/dovecot/imap/<domain>/<user>/mdbox/mailboxes/Fachbereiche >>>>> /dbox-Mails/dovecot-acl not found >>>>> doveadm(<username>): Debug: Namespace INBOX/: Using permissions from >>>>> /var/dovecot/imap/<domain>/<user>/mdbox: mode=0700 gid=default >>>>> doveadm(<username>): Debug: replication: Replication requested by >>>>> 'mailbox delete', priority=1 >>>>> doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche >>>>> >>>>> Output and logs are from the (less loaded) standby/backup node. I can >>>>> get the logs from the active node tonight. >>>>> >>>>> I had to remove some folder-names for privacy reasons, but they all have >>>>> the same output in the logs. >>>>> >>>>> Ralf >>>>> >>>>>> --- >>>>>> Aki Tuomi >>>>>> Dovecot oy >>>>>> >>>>>> -------- Original message -------- >>>>>> From: Ralf Becker <[email protected]> >>>>>> Date: 14/08/2018 16:13 (GMT+02:00) >>>>>> To: [email protected] >>>>>> Subject: doveadm mailbox delete not working >>>>>> >>>>>> I have a user who has several folders in his mailbox, which we can not >>>>>> delete, neither via IMAP nor via doveadm: >>>>>> >>>>>> root@ka-nfs-mail:~# doveadm mailbox list -u <username> | grep hbereiche >>>>>> | cat -v >>>>>> INBOX/[Fachbereiche ^M >>>>>> INBOX/Fachbereiche ^M >>>>>> INBOX/hbereiche^M >>>>>> INBOX/hbereiche/LAGen]^M >>>>>> INBOX/hbereiche/LAG^M >>>>>> INBOX/[Fachbereiche^M >>>>>> INBOX/[Fachbereiche/LAGen]^M >>>>>> INBOX/[Fachbereiche]^M >>>>>> INBOX/[Fachbereiche]/LAGen]^M >>>>>> INBOX/[Fachbereiche]/LAGe^M >>>>>> root@ka-nfs-mail:~# doveadm mailbox delete -u <username> >>>>>> 'INBOX/Fachbereiche ' >>>>>> doveadm(<username>): Info: Mailbox deleted: INBOX/Fachbereiche >>>>>> root@ka-nfs-mail:~# doveadm mailbox list -u <username>| grep hbereiche | >>>>>> cat -v >>>>>> INBOX/[Fachbereiche ^M >>>>>> INBOX/Fachbereiche ^M >>>>>> INBOX/hbereiche^M >>>>>> INBOX/hbereiche/LAGen]^M >>>>>> INBOX/hbereiche/LAG^M >>>>>> INBOX/[Fachbereiche^M >>>>>> INBOX/[Fachbereiche/LAGen]^M >>>>>> INBOX/[Fachbereiche]^M >>>>>> INBOX/[Fachbereiche]/LAGen]^M >>>>>> INBOX/[Fachbereiche]/LAGe^M >>>>>> >>>>>> As far as I tried none of these folders can be deleted (I added single >>>>>> quotes for trailing space and tried to delete subfolders first). >>>>>> >>>>>> Mailbox is in mdbox format on a replication pair under Dovecot 2.2.36 >>>>>> and I tried both nodes of the replication with same result. >>>>>> >>>>>> Any ideas? >>>>>> >>>>>> Ralf >>>>>> >>>>>> -- >>>>>> Ralf Becker >>>>>> EGroupware GmbH [www.egroupware.org] >>>>>> Handelsregister HRB Kaiserslautern 3587 >>>>>> Geschäftsführer Birgit und Ralf Becker >>>>>> Leibnizstr. 17, 67663 Kaiserslautern, Germany >>>>>> Telefon +49 631 31657-0 >>>>>> >>>>>> >>>>> -- >>>>> Ralf Becker >>>>> EGroupware GmbH [www.egroupware.org] >>>>> Handelsregister HRB Kaiserslautern 3587 >>>>> Geschäftsführer Birgit und Ralf Becker >>>>> Leibnizstr. 17, 67663 Kaiserslautern, Germany >>>>> Telefon +49 631 31657-0 >>>>> >>> -- >>> Ralf Becker >>> EGroupware GmbH [www.egroupware.org] >>> Handelsregister HRB Kaiserslautern 3587 >>> Geschäftsführer Birgit und Ralf Becker >>> Leibnizstr. 17, 67663 Kaiserslautern, Germany >>> Telefon +49 631 31657-0 >>> >>>
signature.asc
Description: OpenPGP digital signature
