Люди,
За много лет я отправил много писем с PHP, и у меня никогда не было проблем с HTML.
Я запустил новый сервер Apache / PHP на днях, и письма отправляются нормально.
Все письма отправляются в виде простого текста. Похоже, кодировка не работает.
Даже с:
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
Устанавливается ... отправка электронной почты не HTML, а обычный текст.
Я могу взять этот же PHP-скрипт и запустить его на другом сервере, и я получаю электронное письмо в формате HTML.
Так что я знаю, что мой PHP-скрипт правильный. Какая настройка сервера в PHP / Apache приведет к отправке всех электронных писем в виде простого текста?
Вот что получатель получает на своем конце в области сообщения текстового электронного письма:
Content-type: text/html; charset=iso-8859-1
From: no-reply@yahoo.com
Message-Id: <20180909154528.C4128612EC@ww1.localdomain>
Date: Sun, 9 Sep 2018 11:45:28 -0400 (EDT)
<html><body><h1>Hello, World!</h1></body></html>
Код моего скрипта:
$to = 'test99@domain.com';
$subject = 'php test';
$from='no-reply@yahoo.com';
$headers ='';
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$from.' '. "\r\n";
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '</body></html>';
mail($to, $subject, $message, $headers);