From ac3cddac97afb04a079b3f32d689304bb5228ee2 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 25 Nov 2013 09:53:45 -0500
Subject: [PATCH] Skip charset (or use US_ASCII) intead of UTF-8 if body contains only ASCII characters

---
 program/steps/mail/sendmail.inc |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc
index ea5eaae..fe966a4 100644
--- a/program/steps/mail/sendmail.inc
+++ b/program/steps/mail/sendmail.inc
@@ -669,10 +669,22 @@
 }
 
 // choose transfer encoding for plain/text body
-if (preg_match('/[^\x00-\x7F]/', $MAIL_MIME->getTXTBody()))
+if (preg_match('/[^\x00-\x7F]/', $MAIL_MIME->getTXTBody())) {
+  $text_charset      = $message_charset;
   $transfer_encoding = $RCMAIL->config->get('force_7bit') ? 'quoted-printable' : '8bit';
-else
+}
+else {
+  $text_charset      = '';
   $transfer_encoding = '7bit';
+}
+
+if ($flowed) {
+  if (!$text_charset) {
+    $text_charset = 'US-ASCII';
+  }
+
+  $text_charset .= ";\r\n format=flowed";
+}
 
 // encoding settings for mail composing
 $MAIL_MIME->setParam('text_encoding', $transfer_encoding);
@@ -680,7 +692,7 @@
 $MAIL_MIME->setParam('head_encoding', 'quoted-printable');
 $MAIL_MIME->setParam('head_charset', $message_charset);
 $MAIL_MIME->setParam('html_charset', $message_charset);
-$MAIL_MIME->setParam('text_charset', $message_charset . ($flowed ? ";\r\n format=flowed" : ''));
+$MAIL_MIME->setParam('text_charset', $text_charset);
 
 // encoding subject header with mb_encode provides better results with asian characters
 if (function_exists('mb_encode_mimeheader')) {

--
Gitblit v1.9.1