I hope this is correct now
There was no header 'References', I fixed it too.

(http://www.ietf.org/rfc/rfc2822.txt)

The "In-Reply-To:" and "References:" fields are used when creating a
  reply to a message.  They hold the message identifier of the original
  message and the message identifiers of other messages (for example,
  in the case of a reply to a message which was itself a reply).  The
  "In-Reply-To:" field may be used to identify the message (or
  messages) to which the new message is a reply, while the
  "References:" field may be used to identify a "thread" of
  conversation.

  When creating a reply to a message, the "In-Reply-To:" and
  "References:" fields of the resultant message are constructed as
  follows:

  The "In-Reply-To:" field will contain the contents of the "Message-
  ID:" field of the message to which this one is a reply (the "parent
message").
????????????????????????????????????????????????????????????????????????????
  If there is more than one parent message, then the "In-
  Reply-To:" field will contain the contents of all of the parents'
  "Message-ID:" fields.
?????????????? I don't understand this part ????????????????????????????????

    If there is no "Message-ID:" field in any of
  the parent messages, then the new message will have no "In-Reply-To:"
  field.



sofar a écrit :
Hi,
(cvs-20060205)

when using roundcube to reply to mailinglists etc. it mangles the
msgid string. Roundcube removes the \'<>\' that are required for
some mail clients. Example:

    Message-ID: <[EMAIL PROTECTED]>

becomes included in the reply as:

    In-Reply-To: [EMAIL PROTECTED]

Taken from a real conversation.

Another thing that bugs me is that I can\'t do \"select all\" \"delete\"
multiple times in the same folder - it seems to bring up the second
page/50 items again over and over again. But this I already reported
to the bugtracker ;^)

Cheers.

Auke




diff -Naur roundcubemail/program/lib/imap.inc 
roundcubemail-ok/program/lib/imap.inc
--- roundcubemail/program/lib/imap.inc  2006-02-05 17:14:36.000000000 +0100
+++ roundcubemail-ok/program/lib/imap.inc       2006-02-06 18:38:31.000000000 
+0100
@@ -1208,7 +1208,7 @@
 
        /* FETCH date,from,subject headers */
        $key="fh".($c++);
-       $request=$key." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM 
TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE 
MESSAGE-ID)])\r\n";
+       $request=$key." FETCH $message_set (BODY.PEEK[HEADER.FIELDS (DATE FROM 
TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC CONTENT-TRANSFER-ENCODING CONTENT-TYPE 
MESSAGE-ID REFERENCE)])\r\n";
 
        if (!fputs($fp, $request)) return false;
        do{
@@ -1255,6 +1255,7 @@
                        $result[$id]->date = $headers["date"];
                        $result[$id]->timestamp = 
iil_StrToTime($headers["date"]);
                        $result[$id]->from = $headers["from"];
+                       $result[$id]->reference = $headers["reference"];
                        $result[$id]->to = str_replace("\n", " ", 
$headers["to"]);
                        $result[$id]->subject = str_replace("\n", "", 
$headers["subject"]);
                        $result[$id]->replyto = str_replace("\n", " ", 
$headers["reply-to"]);
@@ -1270,8 +1271,7 @@
                                $result[$id]->charset = $regs[1];
 
                        $messageID = $headers["message-id"];
-                       if ($messageID) $messageID = substr(substr($messageID, 
1), 0, strlen($messageID)-2);
-                       else $messageID = "mid:".$id;
+                       if (!$messageID) "mid:".$id;
                        $result[$id]->messageID = $messageID;
                        }
             else {
diff -Naur roundcubemail/program/steps/mail/compose.inc 
roundcubemail-ok/program/steps/mail/compose.inc
--- roundcubemail/program/steps/mail/compose.inc        2006-02-04 
20:08:10.000000000 +0100
+++ roundcubemail-ok/program/steps/mail/compose.inc     2006-02-06 
18:47:21.000000000 +0100
@@ -59,6 +59,9 @@
     $REPLY_MESSAGE = &$MESSAGE;
     $_SESSION['compose']['reply_uid'] = $_GET['_reply_uid'];
     $_SESSION['compose']['reply_msgid'] = $REPLY_MESSAGE['headers']->messageID;
+    $_SESSION['compose']['reference'] = $REPLY_MESSAGE['headers']->reference;
+    $_SESSION['compose']['references'] .= 
($REPLY_MESSAGE['headers']->reference!='')?' ':'';
+    $_SESSION['compose']['references'] .= $REPLY_MESSAGE['headers']->messageID;
 
     if ($_GET['_all'])
       $REPLY_MESSAGE['reply_all'] = 1;
@@ -617,4 +620,4 @@
 
 
 parse_template('compose');
-?>
\ Pas de fin de ligne à la fin du fichier.
+?>
diff -Naur roundcubemail/program/steps/mail/sendmail.inc 
roundcubemail-ok/program/steps/mail/sendmail.inc
--- roundcubemail/program/steps/mail/sendmail.inc       2006-02-05 
17:14:56.000000000 +0100
+++ roundcubemail-ok/program/steps/mail/sendmail.inc    2006-02-06 
18:47:09.000000000 +0100
@@ -126,6 +126,8 @@
 if ($_SESSION['compose']['reply_msgid'])
   $headers['In-Reply-To'] = $_SESSION['compose']['reply_msgid'];
 
+if ($_SESSION['compose']['references'])
+  $headers['References'] = $_SESSION['compose']['references'];
 
 if ($_POST['_priority'])
   {
                

Reply via email to