Неправильно отображается электронная почта HTML для почты Godaddy в Интернете
Я использую следующий код PHP для отправки по электронной почте. Я проверил в Outlook и других местах, и все проходит правильно. Однако, если я отправляю электронное письмо человеку, использующему средство просмотра электронной почты Godaddy, у него возникают 2 проблемы:
- Адрес электронной почты ОТ не отображается
- Вместо отображения электронного письма в формате HTML он показывает код HTML
Это было проверено с несколькими учетными записями на разных компьютерах и в браузерах.
Вот код, который я использую для отправки электронного письма:
//build and send the email
$to = $email;
$subject = 'Confirm your subscription';
$message =( "<html>\r\n");
$message .=( "<head>\r\n");
$message .=( "<title>Confirm</title>\r\n");
$message .=( "</head>\r\n");
$message .=( "<body>\r\n");
$message .=( "<h2>Thank You for registering</h2>\r\n");
$message .=( "<p>To complete your registration, please click the link below.</p>\r\n");
$message .=(" <p><a href=\"http://www.site.com/confirmation.php?confirm=$visitor_hash\">Click here to confirm your interest.</a></p>\r\n");
$message .=( "</body>\r\n");
$message .=( "</html>\r\n");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "From: Site<info@site.com>\r\n";
mail($to, $subject, $message, $headers);
Какие-нибудь мысли?
2 ответа
После долгих поисков, публикации и настройки я нашел решение. Я нашел это на странице для функции PHP Mail, в комментариях пользователей.
Я изменил эти 3 строки из:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "From: Site<info@site.com>\r\n";
к
$headers ='"MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . PHP_EOL;
$headers .= 'From: Site<info@site.com>' . PHP_EOL;
И это решило проблему.
Спасибо Крис
Правильно построенная электронная почта HTML на самом деле является электронной почтой MIME, которую вы не создаете. Заголовок MIME-версии недостаточно. Попробуйте использовать http://swiftmailer.org/ или PHPMailer, которые позволят вам создавать электронные письма из нескольких частей без особых усилий.