PHP mail кодировка

X
На сайте с 04.12.2018
Offline
285
596

Отправляю письма о заказах себе и клиентам с помощью PHP.

На компе все нормально, на телефоне абракадабра.

Клиенты жалуются - не могут прочитать.

Отправлял так:

$to = $pochta;
$headers = "Content-type: text/plain charset=windows-1251 \r\n";
$headers .= "From: mypost@mail.ru\r\n";
$subject = "Оглавление письма";
$message = "Текст письма";
mail($to, $subject, $message, $headers);

Решил сделать перекодировку, сделал так:


$headers = "Content-type: text/plain charset=windows-1251 \r\n";
$headers .= "From: mypost@mail.ru\r\n";
$subject = "Оглавление письма";
$message = "Текст письма";

$message = iconv("windows-1251", "UTF-8", $message);
mail($to,"=?windows-1251?B?".base64_encode($subject)."?=",$message,$headers);

Теперь на телефон приходит верно, а на компе краказабры :(

Как сделать, чтобы и туда и туда приходило читабельно?

Удобный съем позиций (http://allpositions.ru/redirect/58277)
owx
На сайте с 27.06.2009
Offline
100
owx
#1


$headers = "Content-type: text/html; charset=windows-1251\r\n";
$headers .= "From: mypost@mail.ru\r\n";
$subject = "Оглавление письма";
$message = "Текст письма";

$message = mb_convert_encoding($message, 'windows-1251');
$subject = mb_convert_encoding($subject, 'windows-1251');
mail($to, $subject, $message, $headers);
M
На сайте с 04.12.2013
Offline
223
#2

Как сделать отправку письма?

При наличии mbstring еще есть mb_encode_mimeheader() и т.д.

Xubart:
Отправлял так

Не указан способ кодирования. Даже если указать – не универсально.

Решил сделать перекодировку, сделал так

Преобразуете у UTF, а кодировку указываете прежнюю? :) Плюс не учтено, о чем я писал в пред. абзаце.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

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