Неправильная кодировка при отправке писем из скрипта

Harius
На сайте с 24.08.2008
Offline
246
4747

Недавно переехал на ВДС, стоит ispmanager pro, обнаружилась такая проблемка

Отправляю письмо из php скрипта на почту яндекса

приходит само письмо нормально а тема -

Subject: Реги���а�и� пол�зова�ел�

На сервере везде прописано UTF-8, почта www домена указана,

стоит sendmail

подскажите пожалуйста что делать - может кто знает, в поддержку исп написал пока внятного ответа не получил

Не из скрипта нормально отправляет

Сам скрипт в утф 8:

$mailCharset = "UTF-8";

$headers = "Content-type: text/html; charset=$mailCharset\r\n";

$headers .= "From: $imya <admin@mysite.ru>\r\n";

mail($email, $tema, $text,$headers);

➨ Проверка качества ссылок в Яндексе. (http://xtool.ru) Не тратьте деньги на ГС ➨ Плагин для FF (http://xtool.ru/plugin/) - беспл. проверка PR,YP,YL,GP,LVL,ВС,POS,TrF,AR,MzR,inY.. + экспорт в xls
G.Vad!k
На сайте с 04.10.2007
Offline
74
#1

а переменную $tema пропечатывать пробывали?! она нормально отображается?!

[Удален]
#2

Не помню откуда взял и вроде что-то допиливал.

Суть в формировании $subject посмотрите - так желательно делать


//Отправка писем без проблем с кодировкой
function mail_send($name_from,$email_from,$name_to,$email_to,$data_charset,$send_charset,$subject,$body)
{
/*$name_from, // имя отправителя
$email_from, // email отправителя
$name_to, // имя получателя
$email_to, // email получателя
$data_charset, // кодировка переданных данных
$send_charset, // кодировка письма
$subject, // тема письма
$body // текст письма
*/
$to=mail_mime_header_encode($name_to, $data_charset, $send_charset).' <'.$email_to.'>';
$subject = mail_mime_header_encode($subject, $data_charset, $send_charset);
$from = mail_mime_header_encode($name_from, $data_charset, $send_charset).' <'.$email_from.'>';
if($data_charset != $send_charset)
{
$body=iconv($data_charset, $send_charset, $body);
}
$headers="From: $from\r\n";
$headers.="Content-type: text/html; charset=$send_charset\r\n";
return mail($to, $subject, $body, $headers);
}
//Кодировка для заголовков письма
function mail_mime_header_encode($str, $data_charset, $send_charset)
{
if($data_charset != $send_charset)
{
$str=iconv($data_charset, $send_charset, $str);
}
return '=?'.$send_charset.'?B?'.base64_encode($str).'?=';
}
Harius
На сайте с 24.08.2008
Offline
246
#3
nikitian:
Не помню откуда взял и вроде что-то допиливал.
Суть в формировании $subject посмотрите - так желательно делать

Огромное спасибо - помогло

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий