Re: Moving mail into IMAP server and the Received date
Note also that Thunderbird V2.0 appears to be about to at least patch this with a workaround ... http://forums.mozillazine.org/viewtopic.php?p=2757812#2757812 https://bugzilla.mozilla.org/show_bug.cgi?id=332626#c31 Cheers RM RM wrote: Some more comment on this from the Zimbra server users forum: http://www.zimbra.com/forums/showthread.php?t=1491page=2 Thanks for the thorough answer. At least I know where the issue is! There's no mention of this in Thunderbird's bugzilla at present. Cheers Rob Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Moving mail into IMAP server and the Received date
--On Monday, February 19, 2007 16:32 +1000 RM [EMAIL PROTECTED] wrote: I've been experimenting with cyrus and some other imap servers which also exhibit this problematic behaviour: when I move the mail from a local folder to an imap folder under cyrus, my adjacent Windows/OutlookXp mail reader sorts the mail by Received date, and the date registered as Received is the time/date that the copy operation is carried out (ie: now) rather than the date that the mail was actually originally received. Outlook uses the internaldate attribute. RFC 3501 says: 2.3.3. Internal Date Message Attribute The internal date and time of the message on the server. This is not the date and time in the [RFC-2822] header, but rather a date and time which reflects when the message was received. In the case of messages delivered via [SMTP], this SHOULD be the date and time of final delivery of the message as defined by [SMTP]. In the case of messages delivered by the IMAP4rev1 COPY command, this SHOULD be the internal date and time of the source message. In the case of messages delivered by the IMAP4rev1 APPEND command, this SHOULD be the date and time as specified in the APPEND command description. All other cases are implementation defined. The relevant command is APPEND, and its description says: 6.3.11. APPEND Command Arguments: mailbox name OPTIONAL flag parenthesized list OPTIONAL date/time string message literal [ . . . ] If a date-time is specified, the internal date SHOULD be set in the resulting message; otherwise, the internal date of the resulting message is set to the current date and time by default. So when a client moves mail from local to server, it *could* send an internaldate. Cyrus honors this. When we moved from U Wash to Cyrus we were careful to get the internaldate from U Wash and send it in the append command to Cyrus. When the client does not send an internaldate, Cyrus follows the RFC and assigns the current date and time. There is no imap command to change internaldate once it has been assigned. Ideally you might be able to find a client that sends internaldate when it moves mail from local to server. The catch is that since so many clients, like Thunderbird, do not use internaldate to sort, they probably don't preserve it in local folders, and they probably don't try to reconstruct what it was from Received or Date headers when they append to a folder on server. It's not really a Cyrus or Outlook bug. Joseph Brennan Lead Email Systems Engineer Columbia University Information Technology Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Re: Moving mail into IMAP server and the Received date
On Mon, Feb 19, 2007 at 08:51:10AM -0500, Joseph Brennan wrote: Ideally you might be able to find a client that sends internaldate when it moves mail from local to server. The catch is that since so many clients, like Thunderbird, do not use internaldate to sort, they probably don't preserve it in local folders, and they probably don't try to reconstruct what it was from Received or Date headers when they append to a folder on server. It's not really a Cyrus or Outlook bug. Rob has been working on a patch for Cyrus that allows it to use the Received headers or date of the file on disk to build the internaldate property in case of a reconstruct. This has particularly been an issue when replication has fallen behind or we've lost a replica and had to rebuild it. We already have applied a patch which uses the internaldate property to touch the file when it gets replicated, which helps make reconstruct safer. But yeah, trusting the 'Date' header of the sender is fraught with stupidates[tm]. January 1970 indeed, or 2020 for that matter. You get some funky values! Bron. Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
Moving mail into IMAP server and the Received date
Hi, I'm experimenting with setting up an IMAP server to use as a shared resource for our project team, to serve a history of mail involved with the project accumulated from a number of users over some years, including via newsgroup and regular mail and having been sent and received using various mail clients. The accumulated mail is currently collected in a set of folders in my Mozilla Thunderbird mail local folders, and I want to move it all as-is into a secured IMAP server so that others can search, read and deposit mail there too. I've been experimenting with cyrus and some other imap servers which also exhibit this problematic behaviour: when I move the mail from a local folder to an imap folder under cyrus, my adjacent Windows/OutlookXp mail reader sorts the mail by Received date, and the date registered as Received is the time/date that the copy operation is carried out (ie: now) rather than the date that the mail was actually originally received. In Linux/Thunderbird (my primary mail reader) it uses the Sent date to sort the mail, which is fine, but Outlook thinks in terms of the Received date and that's going to be broken by the mail copy process. Some questions: Is Cyrus responsible for presenting that Received date, as the mail's pure text (view source) contains no reference to that date? Is it possible to force Cyrus to *not* recreate that Received date; or perhaps to copy the Sent date to the Received date when mail arrives by copying from folder to folder, as opposed to when it is received via the common mail delivery mechanism? Is it possible to run a script to reset all the Received dates for a given set of mail (by folder location) to match the Sent date per mail? Thanks Rob Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html