zec*_*ude 2 php email header html-email
我正在使用一个邮件功能,它发回一个包含在变量$ body中的消息.我希望用一些粗体字和一些中断标记将消息发送给自己.
这是我的代码(HEREDOC SYNTAX):
$body = <<<CTS
<h1><b>Order for $name on datevariable</b></h1><br /><br />
<b><u>Administrative Details</u></b><br />
<b>Employee ID:</b> $id<br />
<b>Cost Center:</b> $cost_center<br />
<b>Approved By:</b> $approved_by<br />
<b>Delivery Bldg:</b> $delivery_bldg<br />
<b>Delivery Contact Email:</b> $delivery_contact<br />
<b>Ext:</b> $del_contact_ext<br />
CTS;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我收到电子邮件时,它看起来像这样:
<h1><b>Order for James Important on datevariable</b></h1><br /><br />
<b><u>Administrative Details</u></b><br />
<b>Employee ID:</b> 213123<br />
<b>Cost Center:</b> 132123<br />
<b>Approved By:</b> Chris Seckla<br />
<b>Delivery Bldg:</b> 6<br />
<b>Delivery Contact Email:</b> test@email.com<br />
<b>Ext:</b> 56<br />
Run Code Online (Sandbox Code Playgroud)
它填充变量值但由于某种原因忽略了html标记.有人可以告诉我如何解决这个问题吗?
此外,它忽略了break标记,只留下了一行空格.有什么想法吗?
Mar*_*c W 16
如果这是一封电子邮件,则必须将mime类型设置为text/html而不是text/plain.否则,您的电子邮件阅读器会将邮件解释为纯文本,并忽略所有html标记.
例如,假设你正在调用这样的mail函数:
mail( $to, $subject, $message, $headers )
Run Code Online (Sandbox Code Playgroud)
在$headers,你需要沿着这些方面的东西(当然根据你的具体情况进行调整):
$headers = "From: webmaster@example.com\r\n";
$headers .= "Reply-To: webmaster@example.com\r\n";
$headers .= "Content-Type: text/html";
Run Code Online (Sandbox Code Playgroud)
如果你想发送纯文本和HTML电子邮件(所以非HTML阅读器可以看到没有所有这些标签的电子邮件的干净版本),我建议看一下本教程,以获得有关多部分电子邮件的更详细说明.
| 归档时间: |
|
| 查看次数: |
9868 次 |
| 最近记录: |