summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2009-02-26 19:57:46 +0000
committeralecpl <alec@alec.pl>2009-02-26 19:57:46 +0000
commit65605c862d4e4936cc0ac80e7061afdaab24ab67 (patch)
treeb2c60c85f31da912538ec2cab9af4a4015666077
parent7b0eac9b175d306537c74703e6189362d79d7beb (diff)
- Fix new lines stripped from message footer (#1485751)
-rw-r--r--CHANGELOG4
-rw-r--r--program/steps/mail/sendmail.inc27
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<pre>".$footer.'</pre>' : ''));
// 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<pre>".$footer.'</pre>' : ''));
$MAIL_MIME->addHTMLImage($attachment['path'], $attachment['mimetype'], $attachment['name']);
}
else