Re: Moving mail into IMAP server and the Received date

2007-02-20 Thread RM
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

2007-02-19 Thread Joseph Brennan



--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

2007-02-19 Thread Bron Gondwana
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

2007-02-18 Thread RM

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