From 65605c862d4e4936cc0ac80e7061afdaab24ab67 Mon Sep 17 00:00:00 2001 From: alecpl Date: Thu, 26 Feb 2009 19:57:46 +0000 Subject: - Fix new lines stripped from message footer (#1485751) --- CHANGELOG | 4 ++++ program/steps/mail/sendmail.inc | 27 +++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 613d68346..f005253a6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,10 @@ CHANGELOG RoundCube Webmail --------------------------- +2009/02/26 (alec) +---------- +- Fix new lines stripped from message footer (#1485751) + 2009/02/24 (alec) ---------- - Fix IE problem with mouse click autocomplete (#1485739) diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index f73c44bac..b16226075 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -279,13 +279,17 @@ $isHtml = ($isHtmlVal == "1"); // fetch message body $message_body = get_input_value('_message', RCUBE_INPUT_POST, TRUE, $message_charset); -// remove signature's div ID -if (!$savedraft && $isHtml) - $message_body = preg_replace('/\s*id="_rc_sig"/', '', $message_body); - -// append generic footer to all messages -if (!$savedraft && !empty($CONFIG['generic_message_footer']) && ($footer = file_get_contents(realpath($CONFIG['generic_message_footer'])))) - $message_body .= "\r\n" . rcube_charset_convert($footer, 'UTF-8', $message_charset); +if (!$savedraft) { + // remove signature's div ID + if ($isHtml) + $message_body = preg_replace('/\s*id="_rc_sig"/', '', $message_body); + + // generic footer for all messages + if (!empty($CONFIG['generic_message_footer'])) { + $footer = file_get_contents(realpath($CONFIG['generic_message_footer'])); + $footer = rcube_charset_convert($footer, 'UTF-8', $message_charset); + } +} // create extended PEAR::Mail_mime instance $MAIL_MIME = new rcube_mail_mime($RCMAIL->config->header_delimiter()); @@ -295,11 +299,12 @@ $MAIL_MIME = new rcube_mail_mime($RCMAIL->config->header_delimiter()); if ($isHtml) { - $MAIL_MIME->setHTMLBody($message_body); + $MAIL_MIME->setHTMLBody($message_body . ($footer ? "\r\n
".$footer.'
' : '')); // add a plain text version of the e-mail as an alternative part. $h2t = new html2text($message_body); - $plainTextPart = wordwrap($h2t->get_text(), 998, "\r\n", true); + $plainTextPart = $h2t->get_text() . ($footer ? "\r\n".$footer : ''); + $plainTextPart = wordwrap($plainTextPart, 998, "\r\n", true); if (!strlen($plainTextPart)) { // empty message body breaks attachment handling in drafts @@ -313,6 +318,8 @@ if ($isHtml) else { $message_body = wordwrap($message_body, 75, "\r\n"); + if ($footer) + $message_body .= "\r\n" . $footer; $message_body = wordwrap($message_body, 998, "\r\n", true); if (!strlen($message_body)) { @@ -335,7 +342,7 @@ if (is_array($_SESSION['compose']['attachments'])) if ($isHtml && ($match > 0)) { $message_body = preg_replace($dispurl, ' src="'.$attachment['name'].'"', $message_body); - $MAIL_MIME->setHTMLBody($message_body); + $MAIL_MIME->setHTMLBody($message_body. ($footer ? "\r\n
".$footer.'
' : '')); $MAIL_MIME->addHTMLImage($attachment['path'], $attachment['mimetype'], $attachment['name']); } else -- cgit v1.2.3