我已在localhost中设置了电子邮件发送,并使用我可以访问我的Gmail帐户以使用php脚本发送邮件。
<?php
$to = "example@gmail.com";
$subject = "HTML Mail";
$message = "<html><body>";
$message .= "<b>Hey! How are you today?</b>";
$message .= "<br>Regards";
$message .= "</body></html>";
$headers = "From: myemail@gmail.com\r\n";
mail($to,$subject,$message,$headers);
echo "<h1>MAIL SENT</h1>";
?>
当我使用此脚本发送此电子邮件时,它会发出
<html><body><b>Hey! How are you today?</b><br>Regards</body></html>
为什么不显示html类型输出?
喂!你今天好吗?
问候
在gmail中这样吗?
答案 0 :(得分:2)
可能是您缺少标题以指定这是HTML内容吗?
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "MIME-Version: 1.0\r\n";
编辑:正如另一个答案所指出的那样,两个标题都是必需的。
答案 1 :(得分:1)
来自mail()的PHP文档:
// To send HTML mail, the Content-type header must be set
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
如果缺少这些标头,则邮件内容将被解释为纯文本。
答案 2 :(得分:1)
您好,要发送包含HTML正文的电子邮件,您需要指定标题。像这样的东西
//your code <br>
$headers = "From: myemail@gmail.com\r\n"; <br>
//HTML headers <br>
$headers .= 'MIME-Version: 1.0' . "\r\n"; <br>
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
所以在那之后你可以用html body发送电子邮件
mail($to,$subject,$message,$headers);
祝你好运