Closed Bug 364806 Opened 18 years ago Closed 18 years ago

Incorrect Message RFC 2822.Date field displayed (off by 1 hour)

Categories

(Thunderbird :: General, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 166254

People

(Reporter: sant9442, Assigned: mscott)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8

In exchanging mail between myself (EST -0500) and a customer in the UK (+1000), I noticed his mail was sorted AFTER my replies. This was due that his mail date was being intepreted as 1 hour earlier from the actual date it was written.  Since I just recently switched to TBIRD,  I went back to Outlook to compare, and OE displayed the message correctly with the correct date.

Here is the actual header source from the UK person:

Received: by winserver.com (Wildcat! SMTP Router v6.2.452.1)
  for winserver.support@winserver.com; Tue, 19 Dec 2006 21:55:13 -0500
Received: from winserver.com ([208.247.131.9])
          by winserver.com (Wildcat! SMTP v6.2.452.1) with SMTP
          id 365915593; Tue, 19 Dec 2006 21:55:11 -0500
Received: by winserver.com (wcListServe v6.1.451.7)
          for Developers@winserver.com; Tue, 19 Dec 2006 21:55:10 -0500
Received: by winserver.com (Wildcat! SMTP Router v6.2.452.1)
          for Developers@winserver.com; Tue, 19 Dec 2006 21:54:59 -0500
Received: from mail08.syd.optusnet.com.au ([211.29.132.189])
          by winserver.com (Wildcat! SMTP v6.2.452.1) with ESMTP
          id 365902843; Tue, 19 Dec 2006 21:54:58 -0500
Received: from map2 (c210-49-206-50.sunsh3.vic.optusnet.com.au
   [210.49.206.50])  by mail08.syd.optusnet.com.au (8.13.1/8.13.1) with
   SMTP id BK2rmE0025679 for <Developers@winserver.com>;
   Wed, 20 Dec 2006 13:53:49 +1100
Message-ID: <000c01c723ea$9bd8bae0$030010ac@map2>
From: "Michael Purdy" <michael.purdy@optusnet.com.au>
To: <Developers@winserver.com>
References: <000601c723d5$3a06aa30$030010ac@map2> <45888946.6000706@winserver.com>
Subject: Re: [Developers] LoginSystemContext & Temppath
Date: Wed, 20 Dec 2006 13:54:52 +1000 

According to this, he wrote this at 1:54pm with a bias of +10 hours.  

The message is displayed by TBIRD as 10:54pm and correctly as 9:54pm by Outlook.  

At the moment I was reading and analzying this message header, the real time was 10:37pm. So obviously, the TBIRD display is incorrect.




Reproducible: Always

Steps to Reproduce:
I'm not sure if this is repeatable else where, but relative to me, EST (-0500, and receiving a message from Michael who is in the UK at +1000),  TBIRD shows is messages with 1 hour off

1. Set your PC time zone to EST (-0500)
2. Receive a message from UK (+1000)
3. Display it with TBIRD
4. Display it with OutLook



Actual Results:  
Notice how TBIRD is showing the date 1 hour ahead.  Outlook will show the date correctly.


Expected Results:  
Actual Date

Read the RFC 2822.DATE header correctly and parse it correctly to display the correct Local Display Time.
Small correction, in my opening paragraph, it says:

   .... This was due that his mail date was being intepreted as 1 
   hour earlier from the actual date it was written. 

It should say 

   .... This was due that his mail date was being intepreted as 1 
   hour *later* from the actual date it was written. 


---
HLS
> Here is the actual header source from the UK person:
> 
> Received: by winserver.com (Wildcat! SMTP Router v6.2.452.1)
>   for winserver.support@winserver.com; Tue, 19 Dec 2006 21:55:13 -0500
> Received: from winserver.com ([208.247.131.9])
>           by winserver.com (Wildcat! SMTP v6.2.452.1) with SMTP
>           id 365915593; Tue, 19 Dec 2006 21:55:11 -0500
> Received: by winserver.com (wcListServe v6.1.451.7)
>           for Developers@winserver.com; Tue, 19 Dec 2006 21:55:10 -0500
> Received: by winserver.com (Wildcat! SMTP Router v6.2.452.1)
>           for Developers@winserver.com; Tue, 19 Dec 2006 21:54:59 -0500
> Received: from mail08.syd.optusnet.com.au ([211.29.132.189])
>           by winserver.com (Wildcat! SMTP v6.2.452.1) with ESMTP
>           id 365902843; Tue, 19 Dec 2006 21:54:58 -0500
> Received: from map2 (c210-49-206-50.sunsh3.vic.optusnet.com.au
>    [210.49.206.50])  by mail08.syd.optusnet.com.au (8.13.1/8.13.1) with
>    SMTP id BK2rmE0025679 for <Developers@winserver.com>;
>    Wed, 20 Dec 2006 13:53:49 +1100
> Message-ID: <000c01c723ea$9bd8bae0$030010ac@map2>
> From: "Michael Purdy" <michael.purdy@optusnet.com.au>
> To: <Developers@winserver.com>
> References: <000601c723d5$3a06aa30$030010ac@map2>
>             <45888946.6000706@winserver.com>
> Subject: Re: [Developers] LoginSystemContext & Temppath
> Date: Wed, 20 Dec 2006 13:54:52 +1000 

Following the date sequence, 

- Michael wrote this message at 13:54:52 +1000 

- It was received by his host mail server at 13:53:49 +1100.

- It was received by our WCSMTP mail host at 21:54:58 -0500

- Our router passed it to our list server at 21:54:59 -0500

- Our list server received and processed it at 21:55:10 -0500

- The list server sent it to our mail server at: 21:55:11 -0500

- Our router saved it for the local receipient at: 21:55:13 -0500

It was picked our by my pop3 server sometime after 9:55pm EST. I was reading it at 10:37pm, and TBIRD was showing 10:54pm as the Message Date.

To compare this with Outlook, I opened Outlook to pick up the same batch of mail and Outlook displayed the date correctly as 9:54pm.

Michael and I thought maybe his mail host who is at +1100 might be causing this problem for TBIRD, but that would mean that TBIRD is reading the first Received Header line (bottom one) for displaying dates.   

I HOPE NOT!!!!  If so, that is a bug! TBIRD should be using the RFC 2822.DATE for the message date, not the Received: header.

---
HLS
If this will help, I took a snapshot of both TBIRD and OUTLOOK to show the date display difference and made it available at:

http://www.winserver.com/public/files/tbird-date-bug.PNG

---
HLS
This may be related to the problem described at bug 173242 comment 2, but I
have to admit I don't really understand that very well, since it seems to apply to GMT+xxxx timezones but not GMT-xxxx.
(In reply to comment #4)
> This may be related to the problem described at bug 173242 comment 2, but I
> have to admit I don't really understand that very well, since it seems to apply
> to GMT+xxxx timezones but not GMT-xxxx.

Good news!  I was able to repeat the problem with our own Email Gateway software which is using a ParseRFCDate() function that produces the same timestamp as TBIRD does when displayed via our Web Mail client software.

So this will me to investigate to see what the underlining issue is. I have a suspicion and possible reason that will as explain why Outlook vs TBIRD (our our Wildcat software) shows it differently. I am going to check this out and report the result I find.

---
HLS


Ok here is what I found.

The Date time stamps is parsed ok by all software.

Here is the situation:

Outlook has two date columns;  Received and Sent:

   Received <--- parsed from top 2822.Received: header line
   Sent     <--- parsed from top 2822.Date: header line

TBIRD seems to only offer 1 date column to display, the 2822.Date: header.

Typically, you can not sort by Sent column because the mail will be out of order, so you sort by the Received column.   This is more logical since the mail receiver is the typically the single source for the user, and in addition it is  relative to the user's timezone.  In most cases, users want to know when their POP3 client "received" mail. Since POP3 servers do not add a "Received" header, the next best time is the SMTP reception time.   In fact, our POP3 Server offers an option to insert a "Received" header for the sole purpose of giving the POP3 MUA client a true time stamp picture when the mail was downloaded.  But this is typically off and not typically necessary.

When sorting by the 2822.Date, you get into STD vs DLST issues and therefore, can be off by +/- 1 hour RELATIVE to the user.

What TBIRD needs is an additional display column option to display the Received date in order to get a proper date display order.   The work around is to show the "Order Received" column and sort by "Order Received".   This column seems to be a new serial number for each new message received and/or moved into a folder.

I guess, this is not a big issue as long as TBIRD has a work around to sort by Order Received.   But it does look add to see a future date that appears out of order.

If there is a new suggestion here, I would suggest the addition of a "Received" date column for display purposes.

---
HLS

Ah.  Well, the Received Date issue is longstanding; and in fact, there's a patch on the trunk for the bug I'm duping this to.  If you run with a trunk build, the date in that column is the Received date (while the date displayed in the envelope is the Date header).  The Date value shown in the column is stored in the index file; for POP mail, at least, you can rebuild the index to get the entire folder's date information reconstructed, otherwise only mail arriving new (in the trunk build) will use the Received date.

But see bug 166254 comment 96 -- the Received date isn't necessarily more correct than the header date.  See also bug 216033.
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
(In reply to comment #7)
> 
> But see bug 166254 comment 96 -- the Received date isn't necessarily more
> correct than the header date.  

Good point and there reasons to explain what you pointed out in bug 166254 comment 96, but overall and few exceptions, the Received: header is better for sorting than using the Date: field. 

As long as TBIRD has the "Order Received" this should be sufficient. 

Thanks

---
HLS


You need to log in before you can comment on or make changes to this bug.