On ons, 2024/12/11 at 08:00:29 +0000, yisuyong--- via dovecot wrote: > I added "subscription = no" as you said > > namespace virtual { > hidden = yes > list = no > location = > virtual:/etc/dovecot/virtual:INDEX=~/.virtual:CONTROL=~/.virtual:VOLATILEDIR=~/.virtual/ > prefix = virtual/ > separator = / > subscriptions = no > type = private > } > > And I done change ownership and dovecot-virtual. > []#chown -R vmail:vmail /etc/dovecot/virtual > []# ls -la /etc/dovecot/virtual > drwxr-xr-x 4 vmail vmail 4096 12월 11 12:47 . > drwxr-xr-x 5 root root 4096 12월 11 16:44 .. > drwxr-xr-x 2 vmail vmail 4096 12월 11 16:27 All > drwxr-xr-x 2 vmail vmail 4096 12월 11 16:27 Flagged > > []# cat /etc/dovecot/virtual/All/dovecot-virtual > * > -Junk > -[virtual]/* > -Trash > -Trash/* > all
The "all" here needs a space in front of it. I don't know why, but if it is not indented it will not work (from my own experience). Try putting a space or two in front of it. > []# cat /etc/dovecot/virtual/Flagged/dovecot-virtual > [virtual]/All > flagged > > > When you in your email client open the /virtual/Flagged or /virtual/All > > folder, what do you see? > > I can't see anything. > > Debugging log for Dovecot when you click Flagged. > > Dec 11 16:13:39 mail dovecot: auth: Debug: auth client connected (pid=271743) > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x10, ret=1: > before SSL initialization > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > before SSL initialization > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: > before SSL initialization > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > before SSL initialization > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS read client hello > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write server hello > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write change cipher spec > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > TLSv1.3 write encrypted extensions > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write certificate > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > TLSv1.3 write server certificate verify > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write finished > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > TLSv1.3 early data > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: > TLSv1.3 early data > Dec 11 16:13:39 mail dovecot: message repeated 2 times: [ imap-login: Debug: > SSL: where=0x2002, ret=-1: TLSv1.3 early data] > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > TLSv1.3 early data > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS read finished > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x20, ret=1: > SSLv3/TLS write session ticket > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write session ticket > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: > SSLv3/TLS write session ticket > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=1: > SSL negotiation finished successfully > Dec 11 16:13:39 mail dovecot: auth: Debug: client in: > AUTH#0111#011PLAIN#011service=imap#011secured=tls#011session=t9Y+VvkoZqV/AAAB#011lip=127.0.0.1#011rip=127.0.0.1#011lport=143#011rport=42342#011local_name=mail.example.com#011resp=AGppbW15QGVkZ2VuZXQua3IAVGJ2amFvczk1MCE= > (previous base64 data may contain sensitive data) > Dec 11 16:13:39 mail dovecot: auth: Debug: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing passdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<5>: Handling PASSV request > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<5>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing passdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<5>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): query: SELECT username > AS user,password FROM mailbox WHERE username = 'us...@example.com' AND > active='1' > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: mysql(localhost): > Finished query 'SELECT username AS user,password FROM mailbox WHERE username > = 'us...@example.com' AND active='1'' in 0 msecs > Dec 11 16:13:39 mail dovecot: auth: Debug: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished passdb lookup > Dec 11 16:13:39 mail dovecot: auth: Debug: > auth(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Auth request finished > Dec 11 16:13:39 mail dovecot: auth: Debug: client passdb out: > OK#0111#011user=us...@example.com#011 > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<5>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished passdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<5>: Finished > Dec 11 16:13:39 mail dovecot: auth: Debug: master in: > REQUEST#0113602776065#011271743#0111#011b5686d3c53ea773e7fb938fcd8ca0dc0#011session_pid=271744#011request_auth_token > Dec 11 16:13:39 mail dovecot: auth: Debug: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing userdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<6>: Handling USER request > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<6>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing userdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<6>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): SELECT > CONCAT('/home/vmail/', maildir) AS home, 6000 AS uid, 6000 AS gid, > CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = > 'us...@example.com' AND active='1' > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: mysql(localhost): > Finished query 'SELECT CONCAT('/home/vmail/', maildir) AS home, 6000 AS uid, > 6000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE > username = 'us...@example.com' AND active='1'' in 0 msecs > Dec 11 16:13:39 mail dovecot: auth: Debug: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished userdb lookup > Dec 11 16:13:39 mail dovecot: auth: Debug: master userdb out: > USER#0113602776065#011us...@example.com#011home=/home/vmail/example.com/user1/#011uid=6000#011gid=6000#011quota_rule=*:bytes=11264000#011auth_mech=PLAIN#011auth_token=afb051dec9014e1a66f47f144b554eabc8e53ecd > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<6>: > sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished userdb lookup > Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn > unix:auth-worker (pid=270435,uid=115): auth-worker<6>: Finished > Dec 11 16:13:39 mail dovecot: imap-login: Login: user=<us...@example.com>, > method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=271744, TLS, > session=<t9Y+VvkoZqV/AAAB> > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Loading modules > from directory: /usr/lib/dovecot/modules > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: > /usr/lib/dovecot/modules/lib10_quota_plugin.so > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: > /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: > /usr/lib/dovecot/modules/lib20_virtual_plugin.so > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Added userdb > setting: plugin/quota_rule=*:bytes=11264000 > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Effective uid=6000, > gid=6000, home=/home/vmail/example.com/user1/ > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota root: > name=User quota backend=dict args=:proxy::quota > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota rule: > root=User quota mailbox=* bytes=11264000 messages=0 > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota rule: > root=User quota mailbox=INBOX/Trash bytes=+104857600 messages=0 > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota warning: > bytes=10700800 (95%) messages=0 reverse=no command=quota-warning 95 > us...@example.com > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota warning: > bytes=9011200 (80%) messages=0 reverse=no command=quota-warning 80 > us...@example.com > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota grace: > root=User quota bytes=1126400 (10%) > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: quota-dict: > user=us...@example.com, uri=proxy::quota, noenforcing=0 > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace virtual: > type=private, prefix=virtual/, sep=/, inbox=no, hidden=yes, list=no, > subscriptions=yes > location=virtual:/etc/dovecot/virtual:INDEX=~/.virtual:CONTROL=~/.virtual:VOLATILEDIR=~/.virtual/ > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: fs: > root=/etc/dovecot/virtual, index=/home/vmail/example.com/user1//.virtual, > indexpvt=, control=/home/vmail/example.com/user1//.virtual, inbox=, alt= > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace inbox: > type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, > subscriptions=yes location=maildir:~/Maildir > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: maildir++: > root=/home/vmail/example.com/user1//Maildir, index=, indexpvt=, control=, > inbox=/home/vmail/example.com/user1//Maildir, alt= > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace : > type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no > location=fail::LAYOUT=none > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: none: root=, > index=, indexpvt=, control=, inbox=, alt= > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: quota: > quota_over_flag check: quota_over_script unset - skipping > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Looking up 'priv/quota/storage' > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Looking up (async) 'priv/quota/storage' > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict: Connecting > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict > (pid=270426,uid=0): Client connected (fd=9) > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/storage': > found > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/storage': > found > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Looking up 'priv/quota/messages' > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Looking up (async) 'priv/quota/messages' > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/messages': > found > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/messages': > found > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict > (pid=270426,uid=0): Disconnected: Connection closed (fd=9) > Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL alert: close notify > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Disconnected: Logged out > in=365 out=818 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 > body_count=0 body_bytes=0 > Dec 11 16:13:39 mail dovecot: > imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: > dict(proxy)<us...@example.com>: Waiting for dict to finish pending operations > > > Are there any other settings that need to be modified? I do not think so. The subscriptions and the indentation of the search criteria was my main stumbling blocks - maybe I got lucky and did not run into other things. namespace virtual { prefix = "[virt]/" hidden = no list = yes subscriptions = no separator = / location = virtual:/etc/dovecot/virtual:INDEX=~/virtual:CONTROL=~/virtual:VOLATILEDIR=~/virtual mailbox "[virt]/Inbox" { auto = no comment = Virtual Threaded INBOX } } Is my setting for virtual namespace (I have a few other folders defined as well, but this shows how the main part is configured). -- Kind regards, /S _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-le...@dovecot.org