【发布时间】:2014-02-18 10:10:43
【问题描述】:
我已经设置了一个包含基本字段的联系表。表单将发送给站点所有者,并将一条消息发送给提交表单的客户。该功能有效,但总是将消息发送到垃圾文件夹。我的标头有问题还是只是hotmails垃圾设置。
$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";
$headers .= "From: contact@mysite.com\r\n";
mail($to, $subject, $message, $headers)or die("mail error");
消息是 HTML 电子邮件,只是显示消息的一种更好的方式。同样在我的电子邮件帐户中,它没有显示我的 from 变量,而是显示“CGI Mailer”——令人困惑。
更新 - 不再有效
//mail customer
$from = 'donotreply@mysite.co.uk';
$subject = 'Your message has been recieved.';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= 'From: My Site <'.$from.'>' . "\r\n";
$msg = '
<html>
<head>
<link href="http://linktocss/.../etc" rel="stylesheet" type="text/css" />
</head>
<body>
formatted message...
</body>
</html>
';
mail($email, $subject, $msg, $headers)or die("mail error");
【问题讨论】:
-
很可能是因为您的
rn像这样聚集在一起。阅读手册php.net/mail - 您的标题无效。 -
这个问题没有正确答案。就我而言,您需要对垃圾邮件/垃圾邮件规则有很好的理解,并且需要一点运气。只需确保您的电子邮件格式正确,您的邮件发送域具有 DKIM、PTR 和反向 dns 记录。您的电子邮件中有真正的取消链接,您的服务器不在某些 rbl 黑名单上。话虽这么说,你的问题实在是太大了。