I switched from KMail to Thunderbird at work because I had to upgrade to OpenSuSE 10.2 and KMail no longer lets me view my folder heirachy in a sensible way. I don’t care that IMAP generally puts everything as a subfolder of the inbox, previous versions of KMail displayed it correctly, every other mail client I’ve looked at displays it correctly.
I haven’t used Mozilla Mail since it was part of the seamonkey release (years ago, on Windows). I remember being curious about Thunderbird as a Mail.app replacement but then Mail.app got threading and well, none of the Mozilla apps ever felt particularly native on the Mac.
So I got everything setup and it all seemed to be good, except that email auto-completion wasn’t working right. To cut a long story short it turns out the LDAP server is using cn in a way that Thunderbird wasn’t expecting. The field with the information Thunderbird wants is displayName. There are 3 separate prefs you need to change to get Thunderbird to handle this. You’ll need to add these to prefs.js, replacing SERVER with your server’s identifier (you’ll see it in prefs.js). Note that you really shouldn’t put these in “default” because they’re server-specific.
user_pref(“ldap_2.servers.SERVER.attrmap.DisplayName”, “displayName”);
user_pref(“ldap_2.servers.SERVER.autoComplete.nameFormat”, “[displayName]“);
user_pref(“ldap_2.servers.SERVER.autoComplete.filterTemplate”,
“(|(displayName=%v*)(uid=%v*)(mail=%v*)(sn=%v*))”);
What does this do?
The first line changes the Mozilla Address Book DisplayName field to use the displayName field from the LDAP server. The second line changes the display of auto-competed emails to use the displayName field before the address. The last line was the hardest to figure out. I found this page which gave me a suitable value which I tweaked to use displayName.
So now my Thunderbird displays and auto-completes on displayName instead of cn. Yay.
Update 4 March 2009
It seems somewhere between when I wrote these instructions and the current build of Thunderbird (2.0.0.19) something broke. Thunderbird still looks at the default attrmap so if you need this you can set the default attrmap rather than one for the specific LDAP server.
user_pref(“ldap_2.servers.default.attrmap.DisplayName”, “displayName”);
I have raised a bug for this (481338).
I don’t know what you mean by “KMail no longer lets me view my folder heirachy in a sensible way”. Perhaps you should explain what you mean by sensible? I’ve never had Kmail have any problems with displaying IMAP folders.
I have the hierarchy:
Local Mail
+– inbox
IMAP
+– inbox
+– mailbox
| +– nested mailbox
| +– another nested mailbox
| | +– deeply nested
+– another mailbox
and so forth. Mailboxes are not subfolders of the inbox. I even use Thunderbird, Kmail and Sylpheed, and see the same hierarchy.
This is an uncooperative (as in, I can't affect it in any way) IMAP server. It insists on having all folders be subfolders of INBOX and won't let me create folders anywhere else. Every mail client I've used except for newer KMail versions allow you to display these folders sensibly anyway.
I've been moved to a new mail server at work anyway. Now I'm dealing with Exchange 2003 via IMAP. The server is far away, slow and it likes to drop the connection while opening folders with >1000 messages. This server doesn't have the INBOX problem but it also doesn't support server-side filtering (unless you've got Outlook or IE 6, which I don't) so KMail is again excluded because it doesn't do client side filtering with IMAP or detect SPAM.
I liked KMail while I was using it but the things it leaves out on purpose make it crap in an environment where you don't have server-side filtering/searching/SPAM detection.