From 8d4b4897df1861c12b033b864f4d7d8fca7e540a Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 05 Aug 2014 07:08:58 -0400
Subject: [PATCH] Fix invalid Content-Type header when send_format_flowed=false (#1489992)

---
 program/lib/Mail/mime.php |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/program/lib/Mail/mime.php b/program/lib/Mail/mime.php
index 50297dd..db0fd1f 100644
--- a/program/lib/Mail/mime.php
+++ b/program/lib/Mail/mime.php
@@ -1387,19 +1387,24 @@
 
         if ($headers['Content-Type'] == 'text/plain') {
             // single-part message: add charset and encoding
-            $charset = 'charset=' . $this->_build_params['text_charset'];
-            // place charset parameter in the same line, if possible
-            // 26 = strlen("Content-Type: text/plain; ")
-            $headers['Content-Type']
-                .= (strlen($charset) + 26 <= 76) ? "; $charset" : ";$eol $charset";
+            if ($this->_build_params['text_charset']) {
+                $charset = 'charset=' . $this->_build_params['text_charset'];
+                // place charset parameter in the same line, if possible
+                // 26 = strlen("Content-Type: text/plain; ")
+                $headers['Content-Type']
+                    .= (strlen($charset) + 26 <= 76) ? "; $charset" : ";$eol $charset";
+            }
+
             $headers['Content-Transfer-Encoding']
                 = $this->_build_params['text_encoding'];
         } else if ($headers['Content-Type'] == 'text/html') {
             // single-part message: add charset and encoding
-            $charset = 'charset=' . $this->_build_params['html_charset'];
-            // place charset parameter in the same line, if possible
-            $headers['Content-Type']
-                .= (strlen($charset) + 25 <= 76) ? "; $charset" : ";$eol $charset";
+            if ($this->_build_params['html_charset']) {
+                $charset = 'charset=' . $this->_build_params['html_charset'];
+                // place charset parameter in the same line, if possible
+                $headers['Content-Type']
+                    .= (strlen($charset) + 25 <= 76) ? "; $charset" : ";$eol $charset";
+            }
             $headers['Content-Transfer-Encoding']
                 = $this->_build_params['html_encoding'];
         } else {

--
Gitblit v1.9.1