Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Письма в outlook приходят в кривой кодировке.

05.09.2013, 14:34
Гость
Гость

Здравствуйте!
Кто в курсе, подскажите что можно сделать.
Из стандартного компонента обратная связь отправляется письмо.
Например на яндекс почту оно приходит нормальное:

Телефон: (777) 777-77-77
Адрес: ул. Садовая-Черногрязская, д.777, кв.777, подъезд 7, этаж 7

а в outlook приходит вот так:

рЕКЕТНМ: (777) 777-77-77
рЕЛЮ: СК. яЮДНБЮЪ-вЕПМНЦПЪГЯЙЮЪ, Д.777, ЙБ.777, ОНДЗЕГД 7, ЩРЮФ 7

Я так понимаю менять надо вот здесь, в действии после добавления объекта
Указать где-то жестко кодировку.
Код:
".opt(mail("komy@pismo.eto","ПИСЬМО","Имя: $f_Name\r\n Телефон: $f_Subject\r\n Тема: $f_Message\r\n","From: \"$f_Name\" <$f_Email>\nReply-To: \"$f_Name\" <$f_Email>\nX-Mailer: ".$system_env['Powered']),"")."


я добавил в письмо - MIME-Version: 1.0 Content-type: text/html; charset=koi8-r

Код:

".opt(mail("komy@pismo.eto","ПИСЬМО С САЙТА","Телефон: $f_Subject\r\n Тема: $f_Message","MIME-Version: 1.0 Content-type: text/html; charset=koi8-r From: \"$f_Name\" <$f_Email>\nReply-To: \"$f_Name\" <$f_Email>\nX-Mailer: ".$system_env['Powered']),"")."
<br><br>


но результата что то нет.
05.09.2013, 15:25
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 1037

Попробуйте указать кодировку перед отправкой
$mailer->setCharset('koi8r');
http://netcat.ru/developes/docs/classes/cmimemail/

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
05.09.2013, 16:15
Гость
Гость

Спасибо, но я не смог все это прилепить в существующий шаблон.
Идут ошибки, то точки надо, то скобки, то ; и так до бесконечности.

Вот я сделал рабочий пример где все с кодировкой отлично.

Код:

$komy = '$moy@email.ru';
$from = $f_Email;
$msg = "Имя: $f_Name <br> Телефон: $f_Subject <br> Тема: $f_Message <br> Количество: $f_Kolvo ";

// формируем Тему письма
$subject = "Вопрос с сайта";

// Конвертируем ее в кодировку KOI8-R
$subject = convert_cyr_string ($subject,w,k);

/* А теперь конвертируем ее в MIME-кодировку, заодно указывая, то это KOI8-R */
$subject = '=?koi8-r?B?'.base64_encode($subject).'?=';

// Конвертируем тело письма в KOI8-R
$msg = convert_cyr_string ($msg,w,k);

/* Составляем заголовки – служебную часть письма, где указываем тип
кодировки и тип самого письма (plain text, т.е. простой текст) */
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=koi8-r' . "\r\n";
$headers .= 'To: '.$komy. "\r\n";
$headers .= 'From:' .$from. "\r\n";

// Отправляем письмо
mail($to, $subject, $msg, $headers);


Подскажите как это все грамотно воткнуть за место вот этого:

Код:

".opt(mail("zakaz@dobraja-trapeza.ru","ДЕЖУРНЫЙ ОБЕД","Имя: $f_Name\r\n Телефон: $f_Subject\r\n Тема: $f_Message\r\n Количество: $f_Kolvo\r\n",
"MIME-Version: 1.0 Content-type: text/html; charset=koi8-r From: \"$f_Name\" <$f_Email>\nReply-To: \"$f_Name\" <$f_Email>\nX-Mailer: ".$system_env['Powered']),"")."
198 196 2013-09-05 16:15:36 13261
Описание проекта