[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: sendmail коверкает кодировку
rizhiy87
Собственно проблема. Составляю тело письма в скрипте и шлю его через сендмеил.
У меня на Ubuntu 12.04, Chromium, Gmail - письма приходят и открываются нормально, на виндах начинаются беду - у некоторых нормально открывается, а у большинства остальных - иероглифы. Что может быть?
Сложно протестить, ибо у меня все ок, еще 6 компов (4 линуксовых, 2 виндовых) также нормально все получают, а вот там, где бока - это клиенты, которые находятся непонятно где и доступа, чтобы посмотреть что там происходит, нет.

$message = array(
'to' => $reciever,
'from' => $sender,
'subject' => $subject,
'htmlBody' => $report,
'contentType' => 'text/html',
'charset' => 'UTF-8',
'encoding' => '8bit',
);

Emailer::send($message);

В Emailr::send() все по идее нормально (на других проектах работет исправно)



Спустя 2 дня, 20 часов, 47 минут, 7 секунд (26.08.2012 - 11:18) KOPOJI написал(а):
Попробуйте поменять Emailer на другой какой нибудь (если свой не хотите/не можете написать). PHPMailer к примеру - используйте проверенные многими..

class emailSend {
private $arr;
private $headers;
public function __construct(array $arr) {
foreach($arr as $k=>$v) {
$this->arr[$k] = trim($v);
}
if(!self::check()) die('Вы заполнили не все данные!');
else self::sendMail();
}
private function check() {
if(empty($this->arr['to']) || empty($this->arr['from']) || empty($this->arr['subject']) || empty($this->arr['htmlBody']))
return false;
else {
$this->headers = 'Content-type: '.$this->arr['contentType'].'; charset='.$this->arr['charset'].
"\r\nFrom: ".$this->arr['from'];
return true;
}
}

private function sendMail() {
if(!empty($this->arr['htmlBody']) && isset($this->arr['htmlBody'][4])) {
echo (mail($this->arr['to'],$this->arr['subject'],$this->arr['htmlBody'],$this->headers))
?
'Ваше сообщение успешно отправлено.' : 'Произошла ошибка при отправке сообщения :(';
}
else echo 'Текст сообщения пустой или менее 5 символов';
}
}

$arr = array(
'to' => 'fd',
'from' => 'fds',
'subject' => 'fds',
'htmlBody' => 'fdsff',
'contentType' => 'text/html',
'charset' => 'UTF-8',
'encoding' => '8bit');

$mail = new emailSend($arr);

если на скорую руку то можно как то вот так
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.