用 PHP 生成的邮件会变成垃圾邮件 [重复]
Posted
技术标签:
【中文标题】用 PHP 生成的邮件会变成垃圾邮件 [重复]【英文标题】:Mail generated in PHP going to spam [duplicate] 【发布时间】:2011-12-25 21:35:48 【问题描述】:可能重复:php: How to avoid a system generated e-mail going into spam?How to send 100.000 emails weekly?
我正在使用以下脚本发送邮件
$to = 'name@test.com' . ', ';
$to .= 'name2@test.com';
$subject = 'Green apple';
$message = 'Enquiry posted by test ';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Green Apple <info@greenappleme.com>' . "\r\n";
if (mail($to, $subject, $message, $headers))
echo "mail send successfully";
else
echo "mail can't send";
当我在某些服务器上使用这个脚本时,邮件会变成垃圾邮件。但在某些服务器中,它会根据需要进入收件箱。
如何防止电子邮件成为垃圾邮件?
【问题讨论】:
尝试添加完整且正确的标题 -> transio.com/content/how-pass-spam-filters-php-mail 这个问题已经被问过很多次了。 另见How to send 100.000 emails weekly? - 它处理“垃圾邮件”部分等。 【参考方案1】:请务必将 RETURN PATH 设置为 mail() 函数的第 5 个可选参数。
if (mail($to, $subject, $message, $headers, '-finfo@greenappleme.com'))
【讨论】:
【参考方案2】:为防止电子邮件进入垃圾邮件,请不要使用 PHP 发送邮件。从您的服务器使用 SMTP 发送,您可以使用 PHP 连接到 SMTP 并提交消息。然后,您需要在您的服务器上设置 SPF 记录,并使用您的 IP 地址来自谁来反转 DNS 记录。如果您做了这三件事,那么您将在白名单上,并且您的所有电子邮件都会进入任何地方的收件箱,前提是您没有滥用特权并被列入黑名单。
所以:使用 SMTP 发送,研究 SPF 记录和反向 DNS。
除非您有一个具有专用 IP 的专用服务器,用于您发送电子邮件的域,否则您将无法执行此操作。
【讨论】:
【参考方案3】:在标题下方设置的收件箱中发送您的大多数邮件,并且不要在主题行中使用类似测试的关键字
$headers = "From: My site<noreply@example.com>\r\n";
$headers .= "Reply-To: info@example.com\r\n";
$headers .= "Return-Path: info@example.com\r\n";
$headers .= "X-Mailer: Drupal\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
【讨论】:
以上是关于用 PHP 生成的邮件会变成垃圾邮件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何防止通过 PHP mail() 发送的邮件进入垃圾邮件? [复制]
以编程方式生成的 HTML 电子邮件被 Outlook 归类为垃圾邮件 [重复]