IMAP Public Folders in eM client

Hello.
I’m using MDaemon as mail server (latest version), but I can’t see public IMAP folders nor in tree view by default neither in subscriptions. eM client is 6.0.19690.
Thunderbird and The Bat, both of them, can see public folders without problems… I want to start using eM client on windows but without public folders support it’s practically useles for me :frowning:
Is it possible to be a bug, or may be some incompatibility? Is there any chance that it will be fixed in next versions?
Thanks.

Hi, can I ask if your issue is still present in newest versions?

Jan

I’ve just downloaded latest available version from “downloads” — 6.0.19714.0 and still can’t see nor public neither shared folders. So the problem still exists.

If you want I can make account on my server for you for testing purposes and share some folders so you will be able to debug it.

I’ve just captured some IMAP traffic with Wireshark and I can presume where is the problem.

The Bat uses RFC “LIST” to get folders and “LSUB” to get subscriptions. MDaemon returns full tree on LIST *, including public and shared folders subtree, so The Bat can see public and shared folders as a part of full tree without problems.

eM client uses MS XLIST extension to get folder tree (because MDaemon reports XLIST compatibility as well) and folder special flags.
The problem is that MDaemon will not return public and shared folders because they are in different namespace. As MDaemon supports namespaces, public and shared folders are in different namespaces and I think that according to http://www.ietf.org/rfc/rfc2342.txt client must query each namespace separately to get it’s contents.
eM cient queries only root namespace, so it gets only current user’s folders. I think eM clinet needs to query all existing namespaces to get it’s contents.

May be I’m wrong, so please correct me, as I’m not so deeply understand all IMAP RFC’s niceties.

P.S. Here is a part of eM client log:

03:23:17.656|013| * OK mail.axu.ru IMAP4rev1 MDaemon 13.6.0 ready
03:23:17.656|011| A0 CAPABILITY
03:23:17.660|013| * CAPABILITY IMAP4rev1 NAMESPACE AUTH=CRAM-MD5 AUTH=LOGIN AUTH=PLAIN IDLE COMPRESS=DEFLATE ACL UNSELECT UIDPLUS QUOTA BINARY XLIST
03:23:17.660|013| A0 OK CAPABILITY completed
03:23:17.660|011| A1 AUTHENTICATE CRAM-MD5
03:23:17.663|013| + PE1EQUVNT04tRjIwMTQwMTA2MDMyMy5BQTIzMTgzMjJNRDAwMTJAbWFpbC5heHUucnU+
03:23:17.664|011| YWRtaW5AYXh1LnJ1IGJmZjk0OTZiZTQ2MzYxMWZiOGQwY2MzNWIzNGU4ZWQ2
03:23:17.668|013| A1 OK AUTHENTICATE completed
03:23:17.668|011| A2 COMPRESS DEFLATE
03:23:17.671|013| A2 OK DEFLATE active
03:23:17.672|011| A3 NAMESPACE
03:23:17.676|014| * NAMESPACE (("" “/”)) ((“Shared Folders/” “/”)) ((“Public Folders/” “/”))
03:23:17.676|014| A3 OK NAMESPACE completed
03:23:17.676|011| A4 SELECT “INBOX”
03:23:17.681|014| * FLAGS (\Seen \Answered \Flagged \Deleted \Draft \Recent $Forwarded $MDNSent)
03:23:17.681|014| * 7 EXISTS
03:23:17.681|014| * 0 RECENT
03:23:17.681|014| * OK [UIDVALIDITY 1332397927] UIDs valid
03:23:17.681|014| * OK [UIDNEXT 4473] Predicted next UID
03:23:17.681|014| * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $Forwarded $MDNSent)] .
03:23:17.681|014| A4 OK [READ-WRITE] SELECT completed
03:23:17.681|010| A5 XLIST “” “%”
03:23:17.685|014| * XLIST (\Inbox) “/” “INBOX”
03:23:17.686|014| * XLIST () “/” “Archive”
03:23:17.686|014| * XLIST () “/” “Backup”
03:23:17.686|014| * XLIST () “/” “Contact”
03:23:17.686|014| * XLIST (\Drafts) “/” “Drafts”
03:23:17.687|014| * XLIST () “/” “Important messages”
03:23:17.687|014| * XLIST (\Sent) “/” “Sent”
03:23:17.687|014| * XLIST (\Trash) “/” “Trash”
03:23:17.687|014| * XLIST () “/” “Web registrations”
03:23:17.687|014| A5 OK XLIST completed
03:23:17.687|010| A6 STATUS “INBOX” (UNSEEN)
03:23:17.688|010| A7 STATUS “Archive” (UNSEEN)
03:23:17.688|010| A8 STATUS “Backup” (UNSEEN)
03:23:17.688|010| A9 STATUS “Contact” (UNSEEN)
03:23:17.688|010| A10 STATUS “Drafts” (UNSEEN)
03:23:17.688|010| A11 STATUS “Important messages” (UNSEEN)
03:23:17.688|010| A12 STATUS “Sent” (UNSEEN)
03:23:17.688|010| A13 STATUS “Trash” (UNSEEN)
03:23:17.688|010| A14 STATUS “Web registrations” (UNSEEN)
03:23:17.691|014| * STATUS “INBOX” (UNSEEN 0)
03:23:17.691|014| A6 OK STATUS completed
03:23:17.702|014| * STATUS “Archive” (UNSEEN 0)
03:23:17.703|014| A7 OK STATUS completed
03:23:17.703|014| * STATUS “Backup” (UNSEEN 0)
03:23:17.703|014| A8 OK STATUS completed
03:23:17.703|014| * STATUS “Contact” (UNSEEN 0)
03:23:17.703|014| A9 OK STATUS completed
03:23:17.703|014| * STATUS “Drafts” (UNSEEN 0)
03:23:17.703|014| A10 OK STATUS completed
03:23:17.703|014| * STATUS “Important messages” (UNSEEN 0)
03:23:17.703|014| A11 OK STATUS completed
03:23:17.703|014| * STATUS “Sent” (UNSEEN 0)
03:23:17.703|014| A12 OK STATUS completed
03:23:17.703|014| * STATUS “Trash” (UNSEEN 0)
03:23:17.703|014| A13 OK STATUS completed
03:23:17.703|014| * STATUS “Web registrations” (UNSEEN 0)
03:23:17.703|014| A14 OK STATUS completed
03:23:17.704|010| A15 XLIST “” “INBOX/%”
03:23:17.708|014| A15 OK XLIST completed
03:23:17.708|010| A16 XLIST “” “Archive/%”
03:23:17.717|014| A16 OK XLIST completed
03:23:17.717|010| A17 XLIST “” “Backup/%”
03:23:17.721|014| A17 OK XLIST completed
03:23:17.722|010| A18 XLIST “” “Contact/%”
03:23:17.726|014| A18 OK XLIST completed
03:23:17.726|010| A19 XLIST “” “Drafts/%”
03:23:17.730|014| A19 OK XLIST completed
03:23:17.730|010| A20 XLIST “” “Important messages/%”
03:23:17.737|014| A20 OK XLIST completed
03:23:17.737|010| A21 XLIST “” “Sent/%”
03:23:17.742|014| A21 OK XLIST completed
03:23:17.742|010| A22 XLIST “” “Trash/%”
03:23:17.747|014| A22 OK XLIST completed
03:23:17.747|010| A23 XLIST “” “Web registrations/%”
03:23:17.752|014| A23 OK XLIST completed
03:23:17.755|010| A24 UID FETCH 1:4419 (FLAGS)
03:23:17.760|014| * 1 FETCH (UID 3792 FLAGS (\Seen))
03:23:17.761|014| * 2 FETCH (UID 4411 FLAGS (\Seen))
03:23:17.761|014| * 3 FETCH (UID 4412 FLAGS (\Seen))
03:23:17.761|014| * 4 FETCH (UID 4413 FLAGS (\Seen \Answered))
03:23:17.761|014| * 5 FETCH (UID 4415 FLAGS (\Seen))
03:23:17.761|014| * 6 FETCH (UID 4417 FLAGS (\Seen \Answered))
03:23:17.761|014| * 7 FETCH (UID 4419 FLAGS (\Seen \Flagged))
03:23:17.761|014| A24 OK FETCH completed
03:23:17.762|010| [IMAP] Removing 0 items after synchronization. Account: [email protected] Folder: /ACCOUNT:3/Inbox
03:23:20.773|003| A25 IDLE
03:23:20.776|014| + idling

I’ve just checked it using telnet simulating IMAP exchange by hands, and I can see that if I issue A5 XLIST “” “%” command I can see only my own namespace in response, but if I will issue A5 XLIST “” “*” then I will see full tree, including public and shared. I can modify XLIST or LIST (does not matter) like XLIST “Public Folders/” “%” and can see contents of public folders.

So that’s it. eM client issues XLIST “” “%” and can’t see folders in other namespaces. If you can fix it to issue “*” instead “%” or will implement all namespace checking in loop, it will solve my problem.

I have info from developer, this is actually not issue but lack of support for your IMAP namespace. I will make this thread as IDEA request so we will be able to see how many users wants this support.

Jan

I seem to have the same problem , but with cyrus-imapd-2.4.12-2 on precise pangolin (ubuntu 12.04.4)

Matthias

Found a way to work around the short comings of eM Client.
Simply instructed Cyrus IMAPd to NOT announce the XLIST capability in it’s greeting via imapd.conf directive:

suppress_capabilities: XLIST

hope this helps someone somewhere
I have not tested what the implications in terms of performance of eM Client and my other clients are.

Matthias

Hi,
the same issue bites me too.
Beside every users personal INBOX, we have several shared folders in different namespaces.
We have even users sharing their INBOX or subfolders of INBOX with other users.
None of those folders show up in eM Client 6.0.20320.0 or previous versions.
The server is running cyrus-imapd-2.4.17.
It doesn’t matter if XLIST is enabled or disabled on the server side, shared folders outside of the users INBOX are completely ignored by eM Client.
Out of eM Clients IMAP log, i can see that the NAMESPACE command returns all available namespaces correct, but eM Client is just selecting the INBOX namespace and ignoring the others.

Log:
09:57:18.093|01A|   A6 NAMESPACE
09:57:18.093|01E|   * NAMESPACE ((“INBOX.” “.”)) ((“user.” “.”)) (("" “.”))
09:57:18.093|01E|   A6 OK Completed
09:57:18.093|01B|   A7 SELECT “INBOX” (CONDSTORE)
09:57:18.093|01A|   A8 XLIST “” “INBOX.%”

If i do this by hand:
6 NAMESPACE
* NAMESPACE ((“INBOX.” “.”)) ((“user.” “.”)) (("" “.”))
6 OK Completed
7 XLIST “” “user.%”
* XLIST (\HasNoChildren) “.” user.jdoe
7 OK Completed (0.000 secs 2 calls)
8 XLIST “” “%”
* XLIST (\HasChildren \Inbox) “.” INBOX
* XLIST (\HasChildren) “.” shared
* XLIST (\HasChildren) “.” trouble
* XLIST (\NonExistent \HasChildren) “.” user
8 OK Completed (0.008 secs 47 calls)
9 XLIST “” “shared.%”
* XLIST (\HasNoChildren) “.” shared.frmbackup
9 OK Completed (0.000 secs 2 calls)

As eM Client never issues a XLIST “” “%” it has no clue about other shared folders that a user might have access privileges for and needs to access.

This is definitely a show stopper for us, as we make high use of shared folders and even shared personal INBOXes.

Hope that this gets addressed soon, as all other IMAP clients i’ve used tested and know support this.

Kind regards
Joerg

Hi, see my response here: https://forum.emclient.com/emclient/topics/shared_imap_folder_not_displaying 

Thank you,
Paul.

https://forum.emclient.com/emclient/topics/bug-imap-list-command