php - Outlook 将电子邮件标记为垃圾邮件

标签 php outlook

我知道。我听起来像垃圾邮件发送者,但这些电子邮件是完全合法的电子邮件确认邮件,用于确认在我们开发的这个网站上注册了帐户的人。这些电子邮件都通过了各种邮件提供商(gmail、yahoo、aol、hotmail/live),但它们总是被定向到 Outlook 垃圾邮件文件夹。我尝试过使用 Zend Framework 邮件、PEAR Mail 和 phpMailer。所有这些方法都会导致同样的事情发生。

这似乎是在 Microsoft 于今年 1 月发布了 Outlook 垃圾邮件过滤器的更新之后开始发生的。

以下是有问题的代码:

include_once('Mail.php');
include_once('Mail/mime.php');
$hdrs = array(
 'From'    => "Membership <membership@example.com>",
 'Subject' => 'Test Email',
 'Reply-To'=> "membership@example.com",
 'Message-ID'=> "<" . str_pad(rand(0,12345678),8,'0',STR_PAD_LEFT) . "@mail.example.com>",
 'Date'=> date("D, j M Y H:i:s O",time()),
 'To'=> 'test@example.com'
         );
$params = array('host'=>'mail.example.com','auth'=>false,'localhost' => 'www.example.com','debug'=>false);
$crlf = "\n";
$mime = new Mail_mime($crlf);

$mime->setTXTBody("TEST");
$mime->setHTMLBody("<html>\n<body>\nTest\n</body>\n</html>");

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

$mail =& Mail::factory('smtp',$params);

$t=$mail->send('test@example.com', $hdrs, $body);

如您所见,我们在此测试中使用了 PEAR Mail 功能。这是我们可以运行的最基本的测试,上面生成的电子邮件被转储到 Outlook 垃圾邮件文件夹中。我们在邮件服务器上有反向 DNS,它与正向 DNS 匹配,设置了 SPF 和 DKIM,上面的内容没有任何“垃圾邮件”。任何人都可以使用上述代码看到可能导致 Outlook 将其标记为垃圾邮件的内容吗?谢谢!

最佳答案

您的递送率与您的软件关系不大,而与您的域和 IP 在收件人的邮件主机中的声誉有很大关系。拥有 SPF 和 DKIM 肯定会有所帮助(并且会随着时间的推移帮助建立声誉),但是如果从您的域/IP 发送的电子邮件确实或确实被垃圾分类为用户(或者您做了其他对提供商来说似乎可疑的事情)例如每单位时间向他们的域发送太多电子邮件),无论您付出多少努力都无法克服这一点。

根据我的经验,这些因素更有可能触发垃圾邮件指定,而不是关于您的电子邮件标题或正文的深奥内容。现在,如果您的电子邮件中有某些流行的关键字,那就是另一回事了:-)

大多数主要供应商都提供条件各不相同的白名单计划。您可以通过 Google 了解它们。

关于php - Outlook 将电子邮件标记为垃圾邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2642211/

相关文章:

php - 从查询中按值查找特定字段

vba - 剪贴板粘贴到电子邮件

outlook - HTML 电子邮件中的前置文本

VBA 如何 : Prompt When ActiveInspector. 当前项目在 Outlook 中为空?

php - 使用 php 读取 .pst 文件的内容

php - 使用php将图像转换为字节

php - 在字符存在的地方断开字符串并将新项目插入数组

php - MySQL 和 PHP 的 ORDER BY 错误

php - 密码 PHP 的正则表达式

html - 边距顶部 :-15px (negative pixels) in html not working in Outlook