I know. I sound like a spammer but these emails are completely legitimate email confirmations for people that have signed up for an account on this website we developed. These emails all make it through to various mail providers (gmail, yahoo, aol, hotmail/live) but they always get directed into
the Outlook Junk Email folder. I am have tried using Zend Framework mail, PEAR Mail and phpMailer. All of those methods result in
the same thing happening.
This seemed to start happening after Microsoft released their update to
the Outlook Junk Email filter in January of this year.
Following is
the code in question:
include_once('Mail.php');
include_once('Mail/mime.php');
$hdrs = array(
'From' => "Membership <
[email protected]>",
'Subject' => 'Test Email',
'Reply-To'=> "
[email protected]",
'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'=> '
[email protected]'
);
$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('
[email protected]', $hdrs, $body);
As you can see we are using
the PEAR Mail functionality in this test. This is
the most basic test we could run and
the above generated email gets dumped into
the Outlook Junk Email folder. We have reverse DNS on
the mail server and it matches
the forward DNS, SPF and DKIM are set up and there is nothing "spammy" with
the above content. Can anybody see something with
the above code that could cause Outlook to mark it as Junk? Thanks!