Loud ramblings of a Software Artisan

Tuesday 18 October 2005

Mail threading (aka conversations)

Luis: What I do that whenever I configure an IMAP client for my mail, I tell him to use the Inbox as the "Sent" folder so that all mails I send are in the same folder and not the "Sent" folder that even some mail software decide to make the local by default (I don't remember which one). That allow to keep conversation threaded.

Unfortunately in Evolution it has some annoying side effect. Nothing that couldn't be worked around. See bug 271124 for the most annoying: if you INBOX is the "Sent" folder, then every filter you create from a message in the inbox is considered for outgoing. And since you can't change that after your are on your own. The other side effect (I couldn't find the bug) is that the column label get switched so you end up having the incoming mail be displayed with the recipient (aka you). I don't remember what bug# it is.

So far the best mail user agent for threading is Mutt. Why? Because it does real threading like Evolution and Thunderbird, it tries to reassemble the threads using the subject (like Thunderbird) but mark the thread as such with a * instead of the - (text mode arrows) to make a visible distinction. At also has a customisable regexp for the reply prefix because some bad citizen (Lotus Notes, Microsoft Exchange, etc.) just whatever the programmer decided and whatever the localization team decided....

And the last bit is the Outlook 11 + Qmail that break everything, even more if the reply is made in Evolution. The problem is as follow:

  1. Outlook no longer put Message-ID: because some customer complained about the "privacy" when Outlook did put the machine name on the right part of the Message-ID: (this is the reason given in the Microsoft KB). Note that the fix is plain stupid as they could make a valide Message-ID: derivated from the e-mail address in the From: like some news reader do, because it is perfectly publicized information.
  2. qmail does not append a Message-ID: to any message that goes thru him, unlike Sendmail or Postfix. That means the message sent by Outlook via a qmail MTA still does not have one on outbound. If the delivery occur without only qmail in the path, then the message will be delivered without Message-ID:. Message-ID: is only a SHOULD in the RFC 2822 (section 3.6.4), and section 6.3 of RFC 2821 state that the mail transport agent MAY compensate irregularities by putting one, which qmail fails to.
  3. Evolution at the end, when replying to such a message, just discard the In-Reply-To: and References: content because it does not find the Message-ID:, thus breaking the whole threading. I can't blame Evolution for not inventing the Message-ID:. And now I can't find the bug# so it looks like I'll report it again.

Friday 7 October 2005

GNOME Summit

My only regret is to not be of attendance at the GNOME Summit in Boston. I'm the only one to blame for that. Given that Monday is a holiday in Canada. I wouldn't have needed to take days off. Just to get a new passport (fr).

Well, such is life.