Проблема с форматированием писем.

vmaximov777

Новичок
Проблема с форматированием писем.

У меня есть код который отправляет письмо

// Specify headers to send html mails
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type: text/html; charset=windows-1251" . "\r\n";
$headers .= "From: $from_address" . "\r\n";

// do mail
$result = mail($to, $subject, $message, $headers);
return $result;

Он выполняется на реальном сервере.
При этом если я отправляю такой $message:
<b>HELLO</b>
Ко мне приходит жырним шрифтом HELLO.

Но есть люди которым приходит плоский текст:
<b>HELLO</b> - то есть html не распознается.

Может я чего не так делаю - или это проблема клиента?
 

tecgnotes

Новичок
Возможно гдето на участке к пользователю в письмо добавляются какието дополнительные служебные заголовки (например от антиспама и пр)
попробуйте устанавливать message boundary. Так что попросите переслать такое письмо и посмотрите нет ли таких модификаций.
А пока вот:

$html_boundary = "----=_NextPart_".md5(rand());

$message .= "\n--$html_boundary\n";
$message .= "Content-Type: text/html; charset=\"windows-1251\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= str_replace ("=", "=3D", $html_message)."\n";
$message .= "\n--$html_boundary--\n";
 

vmaximov777

Новичок
Я не совсем знаком с понятием message boundary - но насколько я понял надо подменить $message - так как вы тут показали..
 

tecgnotes

Новичок
это просто ограничение границ хтмлного куска в письме. На тот случай если в этом письме еще идут куски другого формата и кодировки(например аттачи или просто картинки). Согласно RFC - любая строка (ну или почти любая) главное чтоб с двух сторон от одного куска одинаковая была. а подробнее про стандарты писем почитайте здесь - http://www.faqs.org/rfcs/rfc2822
 
Сверху