https://github.com/zendframework/zend-mail/issues/64 diff --git a/src/Header/HeaderWrap.php b/src/Header/HeaderWrap.php index df532ed..e0be2f5 100644 --- a/src/Header/HeaderWrap.php +++ b/src/Header/HeaderWrap.php @@ -116,7 +116,21 @@ abstract class HeaderWrap */ public static function canBeEncoded($value) { - $encoded = iconv_mime_encode('x-test', $value, array('scheme' => 'Q')); + // avoid any wrapping by specifying line length long enough + // "test" -> 4 + // "x-test: =?ISO-8859-1?B?dGVzdA==?=" -> 33 + // 8 +2 +3 +3 -> 16 + $charset = 'UTF-8'; + $line_length = strlen($value) * 4 + strlen($charset) + 16; + + $preferences = array( + 'scheme' => 'Q', + 'input-charset' => $charset, + 'output-charset' => $charset, + 'line-length' => $line_length, + ); + + $encoded = iconv_mime_encode('x-test', $value, $preferences); return (false !== $encoded); }