- function sendMessage($t, $c, $b, $subject, $body) {
- global $useSendmail;
- global $data_dir, $username, $domain, $key, $version, $sent_folder, $imapServerAddress;
-
- if ($useSendmail==true) {
- $length = sendSendmail($t, $c, $b, $subject, $body);
+ function sendMessage($t, $c, $b, $subject, $body, $reply_id) {
+ global $useSendmail, $msg_id, $is_reply, $mailbox;
+ global $data_dir, $username, $domain, $key, $version, $sent_folder, $imapServerAddress, $imapPort;
+ $more_headers = Array();
+
+ $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 1);
+
+ if ($reply_id) {
+ sqimap_mailbox_select ($imap_stream, $mailbox);
+ sqimap_messages_flag ($imap_stream, $reply_id, $reply_id, "Answered");
+
+ // Insert In-Reply-To and References headers if the
+ // message-id of the message we reply to is set (longer than "<>")
+ // The References header should really be the old Referenced header
+ // with the message ID appended, but it can be only the message ID too.
+ $hdr = sqimap_get_small_header ($imap_stream, $reply_id, false);
+ if(strlen($hdr->message_id) > 2) {
+ $more_headers["In-Reply-To"] = $hdr->message_id;
+ $more_headers["References"] = $hdr->message_id;
+ }
+ sqimap_mailbox_close($imap_stream);
+ }
+
+ if ($useSendmail) {
+ $length = sendSendmail($t, $c, $b, $subject, $body, $more_headers);