Update: This hack is no longer necessary with evolution newer than 2.30.1. Just check “Override server-supplied folder namespace”, and leave the string empty. Like in most other MUAs actually.
Using Evolution for accessing IMAP folders with separate top-level folders from your inbox is not possible out of the box. You have to use the standard INBOX or hard code another top-level folder name.
This is a problem because for instance Cyrus and other much used IMAP server implementations can serve more than one top level folder. A classical example is an INBOX for a user’s personal inbox, and a list of shared folders for that user’s organization. Other much used MUAs, like for instance Thunderbird, have no problem supporting any list of top level folders.
It seems that this bug will never be fixed, or at least not until the IMAP backend in Evolution is fixed and or reimplemented (scheduled for 2.30.x or something)?
So what to do? Here’s a simple workaround: Create several IMAP server definitions. You’ll need one for each top level folder, and hardcode the top level folder as namespace for that server definition. There’s a catch, though. Evolution stores each server definition based on that server’s name, and not the server definition name. So for each top level folder / server definition, you need a different server name. Since accessing /etc/hosts on UNIX-like machines is quite easy, this is fixable. My setup looks like this:
$ getent hosts | grep imap 10.1.2.3 imap-inbox.tld 10.1.2.3 imap-customer-shared.tld 10.1.2.3 imap-internal-shared.tld
This is probably a bit inefficient for implementations with many folders, as Evolution has to maintain more IMAP connections than it would have with proper support, but it works.