From 58e3602a37cccab55f71fbf839b32fbc4322699c Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Sat, 04 Feb 2006 14:08:10 -0500 Subject: [PATCH] Bugfixes for encoding and sending with attachments --- program/steps/mail/compose.inc | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 80a32a9..80f69b5 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -145,8 +145,10 @@ // get recipent address(es) out of the message headers if ($header=='to' && $REPLY_MESSAGE['headers']->replyto) $fvalue = $IMAP->decode_header($REPLY_MESSAGE['headers']->replyto); + else if ($header=='to' && $REPLY_MESSAGE['headers']->from) $fvalue = $IMAP->decode_header($REPLY_MESSAGE['headers']->from); + // add recipent of original message if reply to all else if ($header=='cc' && $REPLY_MESSAGE['reply_all']) { @@ -169,7 +171,7 @@ $fvalue = ''; foreach ($to_addresses as $addr_part) { - if (!in_array($addr_part['mailto'], $sa_recipients)) + if (!in_array($addr_part['mailto'], $sa_recipients) && (!$REPLY_MESSAGE['FROM'] || !in_array($addr_part['mailto'], $REPLY_MESSAGE['FROM']))) { $fvalue .= (strlen($fvalue) ? ', ':'').$addr_part['string']; $sa_recipients[] = $addr_part['mailto']; @@ -214,6 +216,8 @@ $a_recipients = array(); if ($REPLY_MESSAGE && is_object($REPLY_MESSAGE['headers'])) { + $REPLY_MESSAGE['FROM'] = array(); + $a_to = $IMAP->decode_address_list($REPLY_MESSAGE['headers']->to); foreach ($a_to as $addr) { @@ -259,6 +263,9 @@ // set identity if it's one of the reply-message recipients if (in_array($sql_arr['email'], $a_recipients)) $from_id = $sql_arr['identity_id']; + + if ($REPLY_MESSAGE && is_array($REPLY_MESSAGE['FROM'])) + $REPLY_MESSAGE['FROM'][] = $sql_arr['email']; } // overwrite identity selection with post parameter -- Gitblit v1.9.1