我正在使用PHP发送电子邮件,如下所示:
$to = $emailAddress;
$subject = "qwerty";
$message = "foo" . PHP_EOL . "bar";
$headers = 'From: "asdf" <email@email.com>';
mail($to, $subject, $message, $headers);
当我尝试将HTML代码放入消息中时,它只是将实际的HTML作为明文发送。这让我想问 - 我如何格式化电子邮件,因为我可以格式化网页?
答案 0 :(得分:4)
确保您为text / html设置标题,如下所示:
// 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";
有关完整示例,请参阅PHP手册中的Example #4。
答案 1 :(得分:1)
要为您的电子邮件添加样式,首先需要添加jmort253所提及的标题,如下所示:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
将此添加到您的标题后。您可以在实际消息中进行样式设置,即:
$message = "<html><body><h1>Welcome</h1><p>Thanks for the email</p></body></html>";
确保您使用内联CSS或将其放在标题中,不要将其放在外部CSS文件中。对于图像,您需要包含服务器的完整路径,以便客户端邮件应用程序可以在Web上找到图像。
希望这有帮助。
答案 2 :(得分:0)
我建议不要重新发明轮子。而是使用phpmailer class或类似的东西。将解决许多其他即将出现的问题:)