diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/lib/imap.inc | 3 | ||||
-rw-r--r-- | program/steps/mail/compose.inc | 6 | ||||
-rw-r--r-- | program/steps/mail/sendmail.inc | 6 |
3 files changed, 11 insertions, 4 deletions
diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 9a5a67bef..2316e404b 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -1450,7 +1450,8 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bo $request .= "BODY.PEEK[HEADER.FIELDS "; $request .= "(DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC "; $request .= "CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID "; - $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY".$add.")])"; + $request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY "; + $request .= "X-REPLY-UID X-FORWARD-UID".$add.")])"; if (!iil_PutLine($fp, $request)) { return false; diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 52a396b0b..fa1ea9533 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -158,9 +158,9 @@ if (!empty($msg_uid)) { if($MESSAGE->headers->in_reply_to) { - // TODO: how to get reply_uid/forward_uid value, maybe we must set X-Reply-UID/X-Forward-UID - // $_SESSION['compose']['reply_uid'] = ? - // $_SESSION['compose']['forward_uid'] = ? + // get reply_uid/forward_uid to flag the original message when sending + $_SESSION['compose']['reply_uid'] = $MESSAGE->headers->others['x-reply-uid']; + $_SESSION['compose']['forward_uid'] = $MESSAGE->headers->others['x-forward-uid']; $_SESSION['compose']['reply_msgid'] = '<'.$MESSAGE->headers->in_reply_to.'>'; } $_SESSION['compose']['references'] = $MESSAGE->headers->references; diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 134664b85..abd4209c3 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -314,6 +314,12 @@ else if (!empty($identity_arr['reply-to'])) if (!empty($_SESSION['compose']['reply_msgid'])) $headers['In-Reply-To'] = $_SESSION['compose']['reply_msgid']; +// remember reply/forward UIDs in special headers +if (!empty($_SESSION['compose']['reply_uid']) && $savedraft) + $headers['X-Reply-UID'] = $_SESSION['compose']['reply_uid']; +else if (!empty($_SESSION['compose']['forward_uid']) && $savedraft) + $headers['X-Forward-UID'] = $_SESSION['compose']['forward_uid']; + if (!empty($_SESSION['compose']['references'])) $headers['References'] = $_SESSION['compose']['references']; |