Письмо в формате HTML отображается как код, а не как страница css - PullRequest
1 голос
/ 28 мая 2019

Я хотел создать автоматическое письмо в формате html / css, где я использовал функцию mail(), но она отображается в виде кода

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

enter image description here

Я также объединил заголовок, предоставив doctype в заголовок, но он все еще не работает.

Это мой код:


<?php


    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
$email_from = "info@domain.com";
    $email_message = "

<html xmlns='http://www.w3.org/1999/xhtml' xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:v='urn:schemas-microsoft-com:vml' style='line-height: inherit;'>
<head>

<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<meta content='width=device-width' name='viewport'>

<meta content='IE=edge' http-equiv='X-UA-Compatible'>

<title></title>


<style id='media-query' type='text/css'>
@media only screen and (min-width: 670px) {
  .block-grid {
    width: 650px !important;
  }


  .desktop_hide {
    display: block !important;
    max-height: none !important;
  }
}
</style>
</head>
<body class='clean-body' style='line-height: inherit; margin: 0; padding: 0; -webkit-text-size-adjust: 100%; background-color: #FFFFFF;'>
<style id='media-query-bodytag' type='text/css'>

</tr>
</tbody>
</table>
</
</table>
</body>
</html>";


$to = "email@gmail.com";
$subject = "Enquiry";
$txt = $email_message;
$headers1="<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional //EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>";
$headers2 = "From:". $email_from . "\r\n" .
"CC: email@gmail.com";
$headers=$headers1.$headers2;

if (mail($to,$subject,$txt,$headers))
{
    //echo "Thank You for contacting us, we will get back to you soon";
}
?>

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Я считаю, что вам нужно установить Mime и Content Type для отправки сообщения, содержащего HTML.Добавьте следующее к $ headers.

$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
0 голосов
/ 28 мая 2019

Установите заголовок для поддержки HTML-шаблона электронной почты. Добавьте этот код в заголовок.

"Content-Type: text/html; charset=UTF-8"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...