Open Bug 355113 Opened 18 years ago Updated 2 years ago

Retention settings work on Date rather than Received: premature deletion possible

Categories

(MailNews Core :: Backend, defect)

1.8 Branch
defect

Tracking

(Not tracked)

People

(Reporter: emmanuel, Unassigned)

References

Details

(Whiteboard: [see comment 3 et seq])

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7
Build Identifier: Thunderbird version 1.5.0.7 (20060909) for XP

I received several POP3 messages with a bogus date header looking like :

Date: Tue,  GMT

and they are not displayed by Thunderbird. The messages are stored in the appropriate mailbox file by the filters, but they don't appear in the message list (with 'show all' mode) and can not be found by the search function.

Reproducible: Always

Steps to Reproduce:
1. Receive a message with the header entry 'Date: Tue,  GMT'

Actual Results:  
The message is not displayed

Expected Results:  
The message should be displayed, probably with the current date or with some 'Error' text in the date column.
I tried reproducing this by editing a message in one of my folders; that message displays, but shows a date of 31-Dec-69 04:01 pm.  Are you still seeing this problem?
No, I can see those messages too now. It seems it was fixed in 1.5.0.9.
I did some more experiments, and it's actually not fixed but things are different that what I originally thought.

The problem actually is that when a folder has the property "remove messages older than xx days", messages are marked deleted before being displayed if they have a date older than that, and thus also if the date is invalid, in which case it is set to 1970 or so (systime=0 I guess).

I'm not sure what the proper behaviour should be here. On one hand you want junk mail deleted automatically after xx days even without being read, on the other hand a legitimate message from someone with a badly setup system time (not that unfrequent on mailing lists) could be lost unnoticed. A good solution would probably be to make the auto-delete feature work with the reception time instead of the Date: header.
(In reply to comment #3)
> A good solution would probably be to make the auto-delete feature work with
> the reception time instead of the Date: header.

Trunk builds are currently storing the received date, rather than the value from the Date header, in the .MSF (index) file.  I just tested: that date in the index is the value used for checking whether to delete the 'old' message.  (You have to actually receive a message using the trunk, or, for POP, at least, rebuild the index, in order for the received date to be stored.  This is, specifically, the date of the last, topmost, Received: header in the message.)  See bug 166254.

The possible drawback is that the Date value displayed in the column is usually not identical, and occasionally very different from, the Date header shown in the message -- see bug 341548.

See bug 227848 for a similar issue with junk mail purging.
Assignee: mscott → nobody
Status: UNCONFIRMED → NEW
Component: General → MailNews: Backend
Depends on: 166254
Ever confirmed: true
OS: Windows XP → All
Product: Thunderbird → Core
QA Contact: general → backend
Hardware: PC → All
Summary: POP3 mails with bogus date header are not displayed → Retention settings work on Date rather than Received: premature deletion possible
Whiteboard: [see comment 3 et seq]
Version: unspecified → 1.8 Branch
Product: Core → MailNews Core
I don't know about dev. branches, but this bug still exist in thunderbird 3.0b2
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.