0 votes

This seems odd to me.

In the first call IMAP returns all the folders and in second IMAP just request the folders under the “Deleted Items” folder.

How come in the first request where I request all folders is there is folders coming back under the “Deleted Items” folder yet when I request folder directly under the “Deleted Items” folder a folder which is supposedly under the “Inbox” is coming back?

The IMAP trace log looks like this:

Mail.dll:  3 11:20:39 3.0.14185.1633
Mail.dll:  3 11:20:39 C: 26a48ae91c91472c LIST "" "*"
Mail.dll:  3 11:20:39 S: * LIST (\Unmarked) "/" "Deleted Items"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Draft"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Drafts"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Junk E-mail"
Mail.dll:  3 11:20:40 S: * LIST (\Marked) "/" "Inbox"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Sent"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Trash"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "INBOX/Keep"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Sent Items"
Mail.dll:  3 11:20:40 S: * LIST (\Unmarked) "/" "Save this"
Mail.dll:  3 11:20:40 S: 26a48ae91c91472c OK LIST completed
The thread 0x44c has exited with code 259 (0x103).
Mail.dll:  3 11:21:07 C: b50fc8dfa12e4699 LIST "" ""
Mail.dll:  3 11:21:08 S: * LIST (\Noselect) "/" ""
Mail.dll:  3 11:21:08 S: b50fc8dfa12e4699 OK LIST completed
Mail.dll:  3 11:21:08 C: ca3f4b08e0784028 LIST "Deleted Items/" "%"
Mail.dll:  3 11:21:08 S: * LIST (\Unmarked) "/" "INBOX/Keep"
Mail.dll:  3 11:21:08 S: ca3f4b08e0784028 OK LIST completed

If you look at the folder tree in the mail UI it looks like this (SmarterMail):

-Inbox
    |
    +- Keep
-Deleted Items
by

1 Answer

0 votes

This doesn't make any sense to me. It seems like a SmarterMail IMAP server bug.

This log fragment is crucial:

C: ca3f4b08e0784028 LIST "Deleted Items/" "%"
S: * LIST (\Unmarked) "/" "INBOX/Keep"

In https://www.limilabs.com/mail/rfc/3501 LIST command is defined as:

LIST "reference name" "mailbox name with possible wildcards"

The returned mailbox names MUSTmatch the supplied mailbox name pattern (in our case "%")

The character "%" is similar to "*" (matches zero or more characters at this position), but it does not match a hierarchy delimiter (in our case "/").

This means that "INBOX/Keep" doesn't match "%" - first bug.

Reference name argument is the name of a mailbox or a level of mailbox hierarchy, and indicates the context in which the mailbox name is interpreted. (In our case it is "Deleted Items/")

"INBOX/Keep" is not under "Deleted Items/" - second bug.

by (301k points)
...