IMAP Server Trouble using dovecot: Difference between revisions

From Open-Xchange
 
Line 1: Line 1:
= Trouble using dovecot as IMAP server with OX-HE =
= Trouble using dovecot as IMAP server with OX-HE =
There might be some trouble using OX-HE in combination with some versions of the dovecot IMAP-Server (we actually use version 1.0.10).
There might be some trouble using OX-HE in combination with some versions of the dovecot IMAP-Server (we actually use version 1.0.10).
This issue is fixed with the upcoming SP4 version.


The OX-Server uses two different IMAP commands to get the folder tree of an IMAP account, depending on where to show the tree. While using the 'LIST' command to get and show up the tree in the users' preferences page, it uses the 'LSUB' command when reading the tree for the users' webmail frontend. According to the RFC-3348 an IMAP server vendor MAY implement a CHILDREN extension, implementing the attributes "\HasChildren" and "\HasNoChildren" to ask the server, if there are subfolders in the currently listed one.
The OX-Server uses two different IMAP commands to get the folder tree of an IMAP account, depending on where to show the tree. While using the 'LIST' command to get and show up the tree in the users' preferences page, it uses the 'LSUB' command when reading the tree for the users' webmail frontend. According to the RFC-3348 an IMAP server vendor MAY implement a CHILDREN extension, implementing the attributes "\HasChildren" and "\HasNoChildren" to ask the server, if there are subfolders in the currently listed one.

Latest revision as of 17:13, 13 August 2008

Trouble using dovecot as IMAP server with OX-HE

There might be some trouble using OX-HE in combination with some versions of the dovecot IMAP-Server (we actually use version 1.0.10).

This issue is fixed with the upcoming SP4 version.

The OX-Server uses two different IMAP commands to get the folder tree of an IMAP account, depending on where to show the tree. While using the 'LIST' command to get and show up the tree in the users' preferences page, it uses the 'LSUB' command when reading the tree for the users' webmail frontend. According to the RFC-3348 an IMAP server vendor MAY implement a CHILDREN extension, implementing the attributes "\HasChildren" and "\HasNoChildren" to ask the server, if there are subfolders in the currently listed one. Some servers - including the version 1.0.10 of dovecot (maybe some more) - do not implement this feature, so the OX webmail frontend will not show up the complete folder structure, but only the main INBOX content (emails).

So because the IMAP connector of the OX server uses the LSUB command, which retrieves the folder structure by looking up for the "\HasChildren"-Attribute, the OX webclient does not show the folder structure, because dovecot answers with an empty list (see the following example with a telnet session):

kungfu:~ # telnet imap.bla-blupp.org imap
Trying 172.16.3.216...
Connected to 172.16.3.216.
Escape character is '^]'.
* OK Dovecot ready.
01 LOGIN fasteddy@bla-blupp.org 208899
01 OK Logged in.

01 LIST "INBOX" %
* LIST (\HasChildren) "." "INBOX"
01 OK List completed. 

01 LSUB "INBOX" %
* LSUB () "." "INBOX"
01 OK Lsub completed.

01 LOGOUT
* BYE Logging out
01 OK Logout completed.
Connection closed by foreign host.
kungfu:~ #

The current solution...

... is to go into your user preferences and there into the IMAP folder tree onto the INBOX, where you click on one folder abo (de- and reactivate) and then click the "SAVE" button once to tell the server the status of your folder abonnements again. BUT: the settings disappear after logging out and in again.

I reported this issue as Bug 11270 on 2008-05-14 08:37.

Meanwhile a patch has been developed by the OpenXchange-Team to provide correct functionality to the OX6/Dovecot-Combination. Have a look at the bug report above. There the patch should be attached.

Dovecot Wiki has some information

The Dovecot Wiki has some information on best practices when implementing a IMAP client. http://www.dovecot.org/imap-client-coding-howto.html This same information is also repeated in the imapwiki. http://www.imapwiki.org/ClientImplementation