用 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邮件功能)[重复]

如何防止通过 PHP mail() 发送的邮件进入垃圾邮件? [复制]

以编程方式生成的 HTML 电子邮件被 Outlook 归类为垃圾邮件 [重复]

PHP mail()表单发送到GMAIL垃圾邮件[重复]

绕过 Gmail 的垃圾邮件过滤器(使用 PHP 从共享主机发送的邮件)

电子邮件总是进入垃圾邮件文件夹[重复]