我在PHP网站上使用此示例发送HTML电子邮件,但是当我收到脚本发送的邮件时,它会在客户端(Outlook)中呈现标签
<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';
// subject
$subject = 'Birthday Reminders for August';
// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</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";
// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
?>
我的客户端设置为接收HTML邮件 - 所以我不确定发生了什么。有什么指针吗?
答案 0 :(得分:3)
我不知道如何修复现有脚本,但是为了发送HTML电子邮件,我总是建议使用现成的类PHPMailer:它提供安全,干净的多部分邮件处理,多个收件人,甚至文件附件。
答案 1 :(得分:1)
您的代码适合我。如果Outlook具有查看邮件原始源代码的功能,则应仔细检查并查看是否存在错误。
如果碰巧混合了Windows和Unix风格的换行符,有时电子邮件客户端会忽略某些标题。
此外:
请勿明确添加至标头。 PHP会为你做。
删除$ header中的前导回车。