Проблемма с кодировкой писем содержащих кириллицу в теме, полях от кого и т.п.
--------------------------------------------------
В частности, при использовании Sendmail,
возникают проблеммы с кодировкой заголовков отправляемых писем в диспетчере писем TheBat,
т.е. русские символы отображаются неправильно.
Обработчики заголовков писем в файле:
/library/Cube/Mail.php
значения в файле /library/Cube/Mail.php
protected $_encoding = '7bit';
protected $_contentType = 'text/plain';
заменить на:
protected $_encoding = '8bit';
protected $_contentType = 'text/html';
примерно 817 строка в файле /library/Cube/Mail.php (отвечает за поле Subject, Тема письма)
$this->addHeader('Subject', $this->_filterString($this->_subject));
заменить на:
//$this->addHeader('Subject', $this->_filterString($this->_subject));
$this->addHeader('Subject', '=?utf-8?B?' . base64_encode($this->_filterString($this->_subject)) . '?=');
отредактировать функцию в файле /library/Cube/Mail.php
protected function _formatAddress($data)
(функция отвечает за поля заголовка письма: To, From, Cc, Bcc, Reply-To)
$address[] = $field['name'] . ' <' . $field['address'] . '>';
заменить на:
//$address[] = $field['name'] . ' <' . $field['address'] . '>';
$address[] = '=?utf-8?B?' . base64_encode($field['name']) . '?= <' . $field['address'] . '>';
--------------------------------------------------
Если используется PHPmail() для отправки писем,
то остается проблемма с отображением темы письма.
файл:
/library/Cube/Mail/Transport/Mail.php
примерно 44 строка:
$result = @mail($to['address'], $mail->getSubject(), $mailBody, $mailHeader, $params);
заменить на:
//$result = @mail($to['address'], $mail->getSubject(), $mailBody, $mailHeader, $params);
$result = @mail($to['address'], '=?utf-8?B?' . base64_encode($mail->getSubject()) . '?=', $mailBody, $mailHeader, $params);