summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2006-02-05 16:14:56 +0000
committerthomascube <thomas@roundcube.net>2006-02-05 16:14:56 +0000
commitbde645fdf1fef55ba8da8657918363fc237fb969 (patch)
tree7e90aeba34cff3a8f348a210d3395f4cf204fb29
parentcc95700b58f31f04470db8271a09d6e52ba9a63d (diff)
Added patches for BCC headers
-rw-r--r--program/include/rcube_imap.inc2
-rw-r--r--program/lib/imap.inc4
-rw-r--r--program/steps/mail/func.inc4
-rw-r--r--program/steps/mail/sendmail.inc8
4 files changed, 12 insertions, 6 deletions
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index cb6b409d9..400d0c0d7 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -766,7 +766,7 @@ class rcube_imap
$mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox;
// get cached headers
- if ($headers = $this->get_cached_message($mailbox.'.msg', $uid))
+ if ($is_uid && ($headers = $this->get_cached_message($mailbox.'.msg', $id)))
return $headers;
$msg_id = $is_uid ? $this->_uid2id($id) : $id;
diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index e03abe49f..48b2cd181 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -36,6 +36,7 @@
- Parse charset from content-type in iil_C_FetchHeaders()
- Enhanced heaer sorting
- Pass message as reference in iil_C_Append (to save memory)
+ - Added BCC to the list of headers to fetch in iil_C_FetchHeaders()
- Removed some debuggers (echo ...)
********************************************************/
@@ -1207,7 +1208,7 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set){
/* 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 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)])\r\n";
if (!fputs($fp, $request)) return false;
do{
@@ -1258,6 +1259,7 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set){
$result[$id]->subject = str_replace("\n", "", $headers["subject"]);
$result[$id]->replyto = str_replace("\n", " ", $headers["reply-to"]);
$result[$id]->cc = str_replace("\n", " ", $headers["cc"]);
+ $result[$id]->bcc = str_replace("\n", " ", $headers["bcc"]);
$result[$id]->encoding = str_replace("\n", " ", $headers["content-transfer-encoding"]);
$result[$id]->ctype = str_replace("\n", " ", $headers["content-type"]);
$result[$id]->in_reply_to = ereg_replace("[\n<>]",'', $headers['in-reply-to']);
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index d089dd272..926121dea 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -940,7 +940,7 @@ function rcmail_message_headers($attrib, $headers=NULL)
$out = '<table' . $attrib_str . ">\n";
// show these headers
- $standard_headers = array('subject', 'from', 'organization', 'to', 'cc', 'reply-to', 'date');
+ $standard_headers = array('subject', 'from', 'organization', 'to', 'cc', 'bcc', 'reply-to', 'date');
foreach ($standard_headers as $hkey)
{
@@ -949,7 +949,7 @@ function rcmail_message_headers($attrib, $headers=NULL)
if ($hkey=='date' && !empty($headers[$hkey]))
$header_value = format_date(strtotime($headers[$hkey]));
- else if (in_array($hkey, array('from', 'to', 'cc', 'reply-to')))
+ else if (in_array($hkey, array('from', 'to', 'cc', 'bcc', 'reply-to')))
$header_value = rep_specialchars_output(rcmail_address_string($IMAP->decode_header($headers[$hkey]), NULL, $attrib['addicon']));
else
$header_value = rep_specialchars_output($IMAP->decode_header($headers[$hkey]), '', 'all');
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index 9d9303436..0ec19a9e4 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -181,7 +181,7 @@ if (is_array($_FILES['_attachments']['tmp_name']))
// encoding settings for mail composing
-$message_param = array('text_encoding' => '7bit',
+$message_param = array('text_encoding' => '8bit',
'html_encoding' => 'quoted-printable',
'head_encoding' => 'quoted-printable',
'head_charset' => $message_charset,
@@ -204,8 +204,12 @@ if ($CONFIG['smtp_server'])
if (strlen($headers['Bcc']))
$a_recipients[] = $headers['Bcc'];
+ // clean Bcc from header for recipients
+ $send_headers = $headers;
+ unset($send_headers['Bcc']);
+
// generate message headers
- $header_str = $MAIL_MIME->txtHeaders($headers);
+ $header_str = $MAIL_MIME->txtHeaders($send_headers);
// send message
$sent = smtp_mail($from, $a_recipients, $header_str, $msg_body);