Как отправить HTML-отформатированную почту с помощью PHP

Привет ребята, попытка отправить html-письмо по почте (), однако gmail просто отображает письмо в виде обычного текста, без пометки, например:

mail("blah@blah.com", "subject", "<i>Italic Text</i>");

просто выглядит как

<i>Italic Text</i>

какие идеи?

5 ответов


вы должны указать, что содержимое почты HTML:

mail("blah@blah.com", "subject", "<i>Italic Text</i>", "Content-type: text/html; charset=iso-8859-1");

см. Пример 4 на этой странице:

http://php.net/manual/en/function.mail.php


вам нужно иметь правильно сформированный html doc:

$msg = "<html><head></head><body><i>Italic Text</i></body></html>";

Edit:

и отправлять заголовки:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail("blah@blah.com", $msg, $headers);

Я считаю, что вы должны установить content-type до text/html в заголовках.

что-то вроде строки "Content-type:text/html"

где "вставить" этот заголовок? Взгляните на ссылку на функцию вhttp://php.net/manual/en/function.mail.php


для того, чтобы он был правильно интерпретирован, вы также должны установить заголовки в письме, особенно:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

вы также должны установить другие обычные заголовки. Сообщение, наконец, может быть отправлено следующим образом:

mail($to, $subject, $message, $headers);

вы должны обратиться к php ручная страница почты для получения дополнительной информации.