Browse Source
Implemented GetMailBoxList which handles LSUB and LIST calls. It makes use
of NAMESPACE and if the imap-server doesn't support namespace then we fake
it. Stuff like folder_prefix and delimiter in old SM can be stored in a
namespace array so internally we use NAMESPACE. Another imap-extension that
is used is the CHILDREN extension which adds an extra flag to the LSUB/LIST
output which indicates if the folder has sub folders. Again, if the server
doesn't support CHILDREN we resolve it by doing an extra LSUB/LIST call.
The LSUB/LIST calls are fired to the imap-server without waiting for a
response. At a later stage we retrieve the response.