我正在联系表格。我已经有了一个基本的版本(收集表格信息并从我的网站发送电子邮件到我的个人电子邮件),但我似乎无法获得“附加标题”。如果我有以下标题,它可以正常工作:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
但是,如果我尝试添加其他邮件标题,例如:
$headers .= 'To: Jack <Jack Johnson>' . "\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";
$headers .= "\r\nX-Mailer: PHP/" ;
我在邮件功能上遇到'失败'。我使用的是PHP 5.3.8版。为了确保邮件功能正常工作,我这样做:
$sendmail = mail($email_to, $email_subject, $email_message, $headers);
if ($sendmail) {
echo '<div>Thanks for submitting!</div>';
} else {
echo '<div>Fail</div>';
}
我是否错误地格式化了这个?
答案 0 :(得分:1)
$headers .= 'To: Jack <Jack Johnson>' . "\r\n";
如评论中所述,这不需要在那里。但它几乎肯定会导致问题,因为它不包含电子邮件地址
同样如评论中所述,您可以在
的开头加上\r\n
。
$headers .= "\r\nX-Mailer: PHP/" ;
最后,这不应该导致问题,但你真的不应该这样做:
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
密件抄送行不属于标题。它们将出现在所有收件人的标题中,从而破坏了密件抄送的重点。您会发现这是在不同的邮件客户端和服务中间歇处理的。有些人会显示它,有些人会保留它,有些人会“善意地”将其隐藏起来。
PHP的mail()并非真正设计用于处理密件抄送,因此您可能需要调用mail()函数并单独发送给密件抄送收件人