]>
Commit | Line | Data |
---|---|---|
c15f090b ER |
1 | https://github.com/zendframework/zend-mail/issues/64 |
2 | ||
3 | diff --git a/src/Header/HeaderWrap.php b/src/Header/HeaderWrap.php | |
4 | index df532ed..e0be2f5 100644 | |
5 | --- a/src/Header/HeaderWrap.php | |
6 | +++ b/src/Header/HeaderWrap.php | |
7 | @@ -116,7 +116,21 @@ abstract class HeaderWrap | |
8 | */ | |
9 | public static function canBeEncoded($value) | |
10 | { | |
11 | - $encoded = iconv_mime_encode('x-test', $value, array('scheme' => 'Q')); | |
12 | + // avoid any wrapping by specifying line length long enough | |
13 | + // "test" -> 4 | |
14 | + // "x-test: =?ISO-8859-1?B?dGVzdA==?=" -> 33 | |
15 | + // 8 +2 +3 +3 -> 16 | |
16 | + $charset = 'UTF-8'; | |
17 | + $line_length = strlen($value) * 4 + strlen($charset) + 16; | |
18 | + | |
19 | + $preferences = array( | |
20 | + 'scheme' => 'Q', | |
21 | + 'input-charset' => $charset, | |
22 | + 'output-charset' => $charset, | |
23 | + 'line-length' => $line_length, | |
24 | + ); | |
25 | + | |
26 | + $encoded = iconv_mime_encode('x-test', $value, $preferences); | |
27 | ||
28 | return (false !== $encoded); | |
29 | } |