Details
Description
I tried to send letter using charset 'cp1251' or 'win1251'. For this purpose I created new instance of Zend_Mail passed this charset in constructor. Then called functions setSubject and setBodyHtml pointed my message.
$mail = new Zend_Mail('cp1251');
$mail->setSubject('Поздравляем с успешной регистрацией');
$mail->setBodyHtml("<b>Blah-blah</b>");
Receved message has problem with subject.
The subject has useless symbol.
GMail: 'Поздравляем с успешной рег_истрацией' ('_' means space)
Yandex: 'Поздравляем с успешной рег=истрацией' ('' means space)
Mail.ru: 'Поздравляем с успешной регE8истрацией'
I think that problem happened around cyrillic symbols.
Thank you!
protected function _encodeHeader($value)
{
if (Zend_Mime::isPrintable($value)) { return $value; } else { return '=?' . $this->_charset . '?B?' . Zend_Mime::encodeBase64($value) . '?='; }
This should fix your problem, the problem is Zend_Mime::encodeQuotedPrintable looks buggy so I used a B encode (base64) on the subject . This was the quick fix for me, I'll try to put togheter a patch and fix Zend_Mime::encodeQuotedPrintable.