One of my email accounts is hosted at an ISP with unreliable IMAP support, and I can't change it. Fortunately, I have my personal email set up on Google Apps for Domains, so I created another GMail account there and turned on GMail's features that allow me to send and receive mail through the ISP account using GMail ("Send mail as" and "Get mail from other accounts" in GMail settings on the Accounts tab). I'm now using Outlook to retreive mail from the GMail account through IMAP, which in turn is retreiving mail from the ISP account through POP3.
This basically works great, except for one very significant issue:
Prior to setting this up, I already had several months of mail in the ISP account that I had been accessing via IMAP. GMail grabbed all of this mail via POP3 at, let's say, noon on April 5. In GMail's web interface (and on my iPod touch, and in Mozilla Thunderbird), all is well: the messages are all shown with their original time stamps. But when Outlook downloads these messages from GMail via IMAP, the time stamps are all set to noon on April 5 (the time GMail downloaded them from the ISP via POP3). That's not good, especially since we're talking about hundreds of messages here over a time span of several months.
How can I fix this and get Outlook to display the original time stamps?
Thanks to Charles Gargent for providing the hint that pointed me in the right direction and Jawa for providing a complete answer. As noted in Jawa's response (and hinted at in Charles's), Outlook is using the time stamp from the most recent
Received header as the message's date, while (as far as I can tell) all other clients (GMail, Thunderbird, iPhone, etc.) are using the time stamp from the
Date header. The relevant headers from a typical message look like this:
Delivered-To: firstname.lastname@example.org Received: by 10.229.219.67 with SMTP id abcdefghijklmn; Mon, 5 Apr 2010 12:43:42 -0700 (PDT) Received: by 10.229.225.73 with SMTP id bcdefghijklmnop.12.1234567890123; Mon, 05 Apr 2010 12:06:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of mail.domain2.com designates 18.104.22.168 as permitted sender) client-ip=22.214.171.124; Received: by 10.241.83.141 with POP3 id cdefghijklmno.12; Mon, 05 Apr 2010 12:06:16 -0700 (PDT) X-Gmail-Fetch-Info: email@example.com 1 pop.recipientdomain.com 995 firstname.lastname@example.org Received: (qmail 27550 invoked from network); 25 Dec 2009 00:24:16 -0000 Received: from mail.domain2.com (HELO subdomain.domain2.local) ([126.96.36.199]) by subdomain.recipientdomain.com with ESMTP; 24 Dec 2009 17:24:12 -0700 Received: from subdomain.domain2.local ([192.168.1.100]) by subdomain.domain2.local ([192.168.1.100]) with mapi; Fri, 25 Dec 2009 01:22:22 +0100 From: Sender <email@example.com> To: Recipient <firstname.lastname@example.org> Date: Fri, 25 Dec 2009 01:23:05 +0100 Subject: Subject
For this message, GMail, Thunderbird, iPhone, et al display December 24, 2009 7:23 PM (the
Date header value adjusted to my time zone) as the message's time stamp. Outlook displays this same value in the Sent field of the full message view, but in the message list, it displays and sorts as April 5, 2010 3:44 PM (the value of the most recent
Received header, which is when Google grabbed the message from the ISP via POP3).
A partial solution is to modify Outlook's view settings to display and sort according to
Sent instead of
Received, but (at least in the current Beta) this messes up Outlook 2010's "Group by Conversations" feature.
Using Outlook Redemption's RDO objects, I believe I can code up an app to delete the extra
Received headers inserted by GMail, thereby causing Outlook to display the proper time stamps with the default view settings. That's the approach I'm pursuing now.