[Dovecot] Sub-Sub-Subfolders not shown after converting from maildir to mdbox
Hi again,
I just recognized a problem concerning subfolders after converting from maildir to mdbox. Thunderbird and SeaMonkey don´t show folders that are subfolders of subfolders.
Have a look at the filesystem:
discovery:/var/mail/domain.tld/patrick/mdbox/mailboxes/Folder1/Folder2# ls -l insgesamt 8 drwx------ 2 vmail vmail 4096 5. Sep 23:42 dbox-Mails drwx------ 3 vmail vmail 4096 5. Sep 23:42 Folder3
Using Thunderbird or Seamonkey, Folder1 and Folder2 are listed and can be subscribed to but Folder3 never gets listed. If I create Folder4 as a new subfolder from Folder2 it works, so the problem only exists with existing folders from converted maildirs.
I had to use a namespace for the convert from my old Courier IMAP.
Any hints?
Regards Patrick
# 2.0.1: /usr/local/etc/dovecot/dovecot.conf # OS: Linux 2.6.26-2-amd64 x86_64 Debian 5.0.5 auth_mechanisms = plain login mail_gid = vmail mail_location = mdbox:~/mdbox mail_plugins = quota mail_uid = vmail managesieve_notify_capability = mailto managesieve_sieve_capability = comparator-i;octet comparator-i;ascii-casemap fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date namespace { inbox = yes location = prefix = INBOX. separator = . type = private } passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { quota = maildir:User quota } protocols = imap sieve service imap-login { service_count = 1 } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } service_count = 1 } ssl = required ssl_cert =
On Tue, 2010-09-07 at 00:54 +0200, Patrick Westenberg wrote:
I just recognized a problem concerning subfolders after converting from maildir to mdbox. Thunderbird and SeaMonkey don´t show folders that are subfolders of subfolders.
I remember some people complaining about the same thing with maildir too. Maybe it happens somewhat randomly.
The other explanation is then that LAYOUT=fs works a bit differently than LAYOUT=maildir++. You could try if mdbox would work better by adding :LAYOUT=maildir++ to your mail_location (of course, you need to change your existing layout to the maildir++ one by e.g. running dsync again).
On 06/09/2010 23:54, Patrick Westenberg wrote:
I just recognized a problem concerning subfolders after converting from maildir to mdbox. Thunderbird and SeaMonkey don´t show folders that are subfolders of subfolders.
Using Thunderbird or Seamonkey, Folder1 and Folder2 are listed and can be subscribed to but Folder3 never gets listed. If I create Folder4 as a new subfolder from Folder2 it works, so the problem only exists with existing folders from converted maildirs.
I can replicate this problem using Thunderbird 3.0.6 over Dovecot 2.0.1 using mdbox.
If a third level folder (e.g. "foo/bar/baz") appears on the server (i.e. not at the bidding of Thunderbird), then Thunderbird 3.0.6 will not notice it, even if you bring up the "Subscribe" dialog and click "refresh".
But if you create a third level folder through Thunderbird, then Thunderbird will see it.
If the third level folder appears on the server, you can pursuade Thunderbird to see it by manually adding the folder name to the subscriptions file on the server and re-starting Thunderbird.
But manual IMAP looks to be right.
m LIST "" "*"
- LIST (\HasNoChildren) "/" "Trash"
- LIST (\HasNoChildren) "/" "INBOX"
- LIST (\HasChildren) "/" "foo"
- LIST (\HasChildren) "/" "foo/bar"
- LIST (\HasNoChildren) "/" "foo/bar/baz" m OK List completed.
Bill
William Blunn schrieb:
I can replicate this problem using Thunderbird 3.0.6 over Dovecot 2.0.1 using mdbox.
If a third level folder (e.g. "foo/bar/baz") appears on the server (i.e. not at the bidding of Thunderbird), then Thunderbird 3.0.6 will not notice it, even if you bring up the "Subscribe" dialog and click "refresh".
The problem also exists with maildir
On 06/09/2010 23:54, Patrick Westenberg wrote:
I just recognized a problem concerning subfolders after converting from maildir to mdbox. Thunderbird and SeaMonkey don´t show folders that are subfolders of subfolders.
Using Thunderbird or Seamonkey, Folder1 and Folder2 are listed and can be subscribed to but Folder3 never gets listed. If I create Folder4 as a new subfolder from Folder2 it works, so the problem only exists with existing folders from converted maildirs.
I've just run a test with a virgin Maildir setup on Dovecot 2.0.1.
After raising three levels of folder on the server side ("foo", "foo.bar", and "foo.bar.baz"), Thunderbird 3.0.6 was only able to see into the first two levels. Listing folders through a manual IMAP looks OK.
I also ran a test on a virgin mdbox setup with a Namespace to force the separator into a dot, to make it behave similarly to Maildir at the IMAP level). Same results; Thunderbird 3.0.6 can only see into the first two folder levels. Listing folders through a manual IMAP looks OK.
So I don't think the problem is mdbox.
I suspect there is a bug in Thunderbird 3.0.6 wherein it cannot subscribe to folders more than two levels deep.
I think you didn't notice the problem before because all folders were already subscribed.
I was able to come up with a sort-of workaround which is to manually add the folder name to the subscriptions file on the server side. Thunderbird is then able to see the folder (may need to restart Thunderbird).
Maybe you could drag the subscriptions data over from the old Maildir folders over into the mdbox folders?
If you took the default separators (dot under Maildir and slash under mdbox) then you'd need to change those in the subscriptions files ("sed -e 's:\.:/:g' < Maildir/subscriptions > mdbox/subscriptions"perhaps) or set up a Namespace to force the new mdbox config to use a dot as the separator.
Bill
Hi,
it seems to be a bug in Thunderbird and SeaMonkey: https://bugzilla.mozilla.org/show_bug.cgi?id=592633
Using IMAP via Telnet works perfect.
On 08/09/2010 21:17, Patrick Westenberg wrote:
it seems to be a bug in Thunderbird and SeaMonkey: https://bugzilla.mozilla.org/show_bug.cgi?id=592633
Now confirmed. David Bienvenu replicated the problem with Thunderbird (involving connecting to my server running Dovecot 2.0.1), analysed it and found a problem with Thunderbird. They are now scratching their heads over how to fix it :-)
So I think Dovecot is working correctly here.
To tide people over until the bug is fixed, a couple of workarounds have surfaced:
You can configure Thunderbird to show all folders rather than just subcribed ones. In Server Settings / Advanced, untick the box "Show only subscribed folders". This then exposes the third-level folders.
Make the folder(s) in question be listed in the server's subscribed folders list by some other means. For example using another e-mail client, or just adding the folder name(s) to the "subscriptions" file on the server.
Bill
On Fri, 10 Sep 2010 00:26:50 +0100, William Blunn bill+dovecot@blunn.org wrote:
Now confirmed. David Bienvenu replicated the problem with Thunderbird (involving connecting to my server running Dovecot 2.0.1), analysed it and found a problem with Thunderbird. They are now scratching their heads over how to fix it :-)
Yeah, I read it in the bugtracking system.
Good idea to offer a test account to one of the developers, that was the break through. Otherwise they would still deny that there is a problem. ;-)
I am very relieved that this is not a problem from dovecot reading mdbox-converted or maildirs itself created by courier.
Regards, Patrick
participants (3)
-
Patrick Westenberg
-
Timo Sirainen
-
William Blunn