如何使用PHP发送HTML格式的邮件

时间:2011-04-19 11:04:02

标签: php email formatting

嘿伙计们, 试图通过mail()发送html电子邮件,但gmail只是将电子邮件显示为纯文本,没有标记,例如:

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

只显示为

<i>Italic Text</i>

有什么想法吗?

5 个答案:

答案 0 :(得分:15)

您必须指定邮件内容为HTML:

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

答案 1 :(得分:7)

请参阅本页的示例4:

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

答案 2 :(得分:3)

你需要一个正确形成的html doc:

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

编辑:

并发送标题:

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

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

答案 3 :(得分:3)

我相信您必须在标题中设置content-typetext/html

字符串"Content-type:text/html"

之类的东西

在哪里“插入”此标题?请查看http://php.net/manual/en/function.mail.php

上的函数参考

答案 4 :(得分:1)

为了正确解释它,您还必须在电子邮件中设置标题,尤其是:

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

您还应该设置其他常用标题。最终可以像这样发送消息:

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

您应该参考php manual mail page了解更多信息。