* The References header should really be the old Referenced header
* with the message ID appended, and now it is (jmunro)
*/
- $hdr = sqimap_get_small_header ($imap_stream, $reply_id, false);
- if(strlen($hdr->message_id) > 2) {
+ $sid = sqimap_session_id();
+ $query = "$sid FETCH $reply_id (BODY.PEEK[HEADER.FIELDS (Message-Id In-Reply-To)])\r\n";
+ fputs ($imap_stream, $query);
+ $read_list = sqimap_read_data_list($imap_stream, $sid, true, $response, $message);
+ $message_id = '';
+ $in_reply_to = '';
+ foreach ($read_list as $read) {
+ foreach ($read as $r) {
+ if (preg_match("/^message-id:(.*)/iA", $r, $regs)) {
+ $message_id = trim($regs[1]);
+ }
+ if (preg_match("/^in-reply-to:(.*)/iA", $r, $regs)) {
+ $in_reply_to = trim($regs[1]);
+ }
+ }
+ }
+
+ if(strlen($message_id) > 2) {
$refs = get_reference_header ($imap_stream, $reply_id);
- $inreplyto = $hdr->message_id;
- $old_reply_to = $hdr->inrepto;
+ $inreplyto = $message_id;
+ $old_reply_to = $in_reply_to;
$refer = calculate_references ($refs, $inreplyto, $old_reply_to);
$more_headers['In-Reply-To'] = $inreplyto;
$more_headers['References'] = $refer;
}
+
}
if ($default_use_priority) {
$more_headers = array_merge($more_headers, createPriorityHeaders($prio));