Страницы

Поиск по вопросам

среда, 24 октября 2018 г.

Отправляя письма через форму на сайте, письма приходят с неверной кодировкой

Здравствуйте! Написал простенький скрипт обратной формы на php + jquary. Сам скрипт с функцией mail() echo "Ваше Ф.И.О. :".$name."
"; echo "Ваш контактный телефон :".$email."
"; echo "Время и дата :".$sug."
"; echo "Ваш запрос отправлен. Спасибо вам за ваш интерес к нашей компании!";
$from = 'test@mail.ru'; $emailTo = 'test@mail.ru'; $subject = '=?UTF-8?B?'.base64_encode('Запрос прайс листа с сайта: test').'?='; $headers = 'Content-type: text/plain; charset=utf-8'; $headers .= "From: ". $from ." <". $from .">
"; $body = "Ф.И.О. контактного лица: $name

Контактный телефон клиента: $email

Время и дата удобное для звонка ему:
$sug";
$headers = 'C сайта: test <'.$emailTo.'>' . "
" . 'Отправитель: ' . $name . "
" ; $headers .= "Date: ". date('D, d M Y h:i:s O') ."
";
mail($emailTo, $subject, $body, $headers, '-f'. $from );
$emailSent = true; }?> В данном скрипте проблему с заголовком письма решил, если письмо отправляю на локальном сервере в denwer и читаю их в Thunderbird то с кодировкой проблем нет, как только выложил его на виртуальный сервак и отправил письмо на почтовый ящик размещенный на mail.ru, появляются крокозябры: C я│п╟п╧я┌п╟: test п·я┌п©я─п╟п╡п╦я┌п╣п╩я▄: я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦п╣ Date: Mon, 24 Jun 2013 11:03:16 +0400
п╓.п≤.п·. п╨п╬п╫я┌п╟п╨я┌п╫п╬пЁп╬ п╩п╦я├п╟: я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦п╣
п п╬п╫я┌п╟п╨я┌п╫я▀п╧ я┌п╣п╩п╣я└п╬п╫ п╨п╩п╦п╣п╫я┌п╟: я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦п╣
п▓я─п╣п╪я▐ п╦ п╢п╟я┌п╟ я┐п╢п╬п╠п╫п╬п╣ п╢п╩я▐ п╥п╡п╬п╫п╨п╟ п╣п╪я┐: я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦п╣ Тема письма отображается верно. Прошу помощи разобраться в данной проблеме.


Ответ

Ну как бы все пользуются для почты http://phpmailer.worxware.com/. Но в вашем случаи есть прям в документации ответ http://php.net/manual/en/function.mail.php : function mail_utf8($to, $subject = '(No subject)', $message = '', $from) { $header = 'MIME-Version: 1.0' . "
" . 'Content-type: text/plain; charset=UTF-8' . "
" . 'From: Yourname <' . $from . ">
"; mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header); }

Комментариев нет:

Отправить комментарий