Merge pull request #115 from dharyk/unsupported_encodings

Fix for unsupported encodings
This commit is contained in:
Robert Hafner 2015-08-01 20:07:31 -07:00
commit 2255634583

View File

@ -524,18 +524,22 @@ class Message
if (!empty($parameters['charset']) && $parameters['charset'] !== self::$charset) { if (!empty($parameters['charset']) && $parameters['charset'] !== self::$charset) {
$mb_converted = false; $mb_converted = false;
if (function_exists('mb_convert_encoding')) { if (function_exists('mb_convert_encoding')) {
try { if (!in_array($parameters['charset'], mb_list_encodings())) {
$messageBody = mb_convert_encoding($messageBody, self::$charset, $parameters['charset']); if ($structure->encoding === 0) {
$mb_converted = true; $parameters['charset'] = 'US-ASCII';
} catch (Exception $e) { } else {
// @TODO Handle exception $parameters['charset'] = 'UTF-8';
} }
} }
$messageBody = @mb_convert_encoding($messageBody, self::$charset, $parameters['charset']);
$mb_converted = true;
}
if (!$mb_converted) { if (!$mb_converted) {
try { $messageBodyConv = @iconv($parameters['charset'], self::$charset . self::$charsetFlag, $messageBody);
$messageBody = iconv($parameters['charset'], self::$charset . self::$charsetFlag, $messageBody);
} catch (Exception $e) { if ($messageBodyConv !== false) {
// @TODO Handle exception $messageBody = $messageBodyConv;
} }
} }
} }