zytzagoo / smtp-validate-email

A PHP library for performing email addresses validation via SMTP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hotmail false negative result.

kevinkara opened this issue · comments

Just tested the code on win2012 server, IIS8
All domains work good but hotmail!

is there any trick for hotmail or the code just can not handle hotmail?

test email is test1qaz1qaz@hotmail.com
this is my valid test email

here is the dumped result from your code:

array(2) { ["test1qaz1qaz@hotmail.com"]=> bool(false) ["domains"]=> array(1) { ["hotmail.com"]=> array(2) { ["users"]=> array(1) { [0]=> string(12) "test1qaz1qaz" } ["mxs"]=> array(5) { ["mx3.hotmail.com"]=> int(5) ["mx4.hotmail.com"]=> int(5) ["mx1.hotmail.com"]=> int(5) ["mx2.hotmail.com"]=> int(5) ["hotmail.com"]=> int(0) } } } }

Thank you,

Kevin

Try to enable debug mode to get more information about the result. Just set $debug to true in the lib.

I enabled the debug mode and re-tested, results are below,

Thank you,

MX records (hotmail.com): Array
(
[mx4.hotmail.com] => 5
[mx3.hotmail.com] => 5
[mx1.hotmail.com] => 5
[mx2.hotmail.com] => 5
[hotmail.com] => 0
)

Connecting to mx4.hotmail.com:25

Connected to mx4.hotmail.com:25 successfully

<<<recv: 220 SNT004-MC1F6.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.microsoft.com/en-us/anti-spam.mspx. Mon, 23 Jun 2014 12:43:35 -0700

send>>>: EHLO sellitaway.com

<<<recv: 250-SNT004-MC1F6.hotmail.com (3.20.0.138) Hello [74.208.133.16]

<<<recv: 250-SIZE 36909875

<<<recv: 250-PIPELINING

<<<recv: 250-8bitmime

<<<recv: 250-BINARYMIME

<<<recv: 250-CHUNKING

<<<recv: 250-STARTTLS

<<<recv: 250-AUTH LOGIN

<<<recv: 250-AUTH=LOGIN

<<<recv: 250 OK

send>>>: MAIL FROM:support@sellitaway.com

<<<recv: 550 SC-001 (SNT004-MC1F6) Unfortunately, messages from 74.208.133.16 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

Unexpected response to MAIL FROM
:550 SC-001 (SNT004-MC1F6) Unfortunately, messages from 74.208.133.16 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

Closing socket to mx4.hotmail.com:25
array(2) { ["test1qaz1qaz@hotmail.com"]=> bool(false) ["domains"]=> array(1) { ["hotmail.com"]=> array(2) { ["users"]=> array(1) { [0]=> string(12) "test1qaz1qaz" } ["mxs"]=> array(5) { ["mx4.hotmail.com"]=> int(5) ["mx3.hotmail.com"]=> int(5) ["mx1.hotmail.com"]=> int(5) ["mx2.hotmail.com"]=> int(5) ["hotmail.com"]=> int(0) } } } }

It seems you are blacklisted from Hotmail.

When you try a hotmail email does it work on your side?

Probably related: #3 (comment)
s/Yahoo/Hotmail

Here we go ,

I have tried on 3 different domains with different servers on different IPs and all get the same result.
yahoo, gmail, aol all works good. but still Hotmail does not

Can you confirm this email "test1qaz1qaz@hotmail.com" is being verified on your tests? , if you can verify, we can say something is wrong on MY tests.

And also is there a way or a tool to help to verify that hotmail blacklisted a domain or IP?

Thank you for all the help, you guys are great.

Yes, I can confirm that it works (when you connect from a properly configured, well maintained, guaranteed spam-free server/ip-range):

test code:

require 'smtp-validate-email.php';

$from = 'xxx@hotmail.com'; // for SMTP FROM:<> command
$email = 'test1qaz1qaz@hotmail.com';

$validator = new SMTP_Validate_Email($email, $from);
$validator->debug = true;
$smtp_results = $validator->validate();

var_dump($smtp_results);

validate() results:

array(2) {
  ["test1qaz1qaz@hotmail.com"]=>
  bool(true)
  ["domains"]=>
  array(1) {
    ["hotmail.com"]=>
    array(2) {
      ["users"]=>
      array(1) {
        [0]=>
        string(12) "test1qaz1qaz"
      }
      ["mxs"]=>
      array(5) {
        ["mx3.hotmail.com"]=>
        int(5)
        ["mx2.hotmail.com"]=>
        int(5)
        ["mx1.hotmail.com"]=>
        int(5)
        ["mx4.hotmail.com"]=>
        int(5)
        ["hotmail.com"]=>
        int(0)
      }
    }
  }
}

debug output:

MX records (hotmail.com): Array
(
    [mx3.hotmail.com] => 5
    [mx2.hotmail.com] => 5
    [mx1.hotmail.com] => 5
    [mx4.hotmail.com] => 5
    [hotmail.com] => 0
)

Connecting to mx3.hotmail.com:25

Connected to mx3.hotmail.com:25 successfully

<<<recv: 220 BAY004-MC3F53.hotmail.com Sending unsolicited commercial or bulk e-mail to Microsoft's computer network is prohibited. Other restrictions are found at http://privacy.microsoft.com/en-us/anti-spam.mspx. Mon, 23 Jun 2014 15:33:29 -0700 

send>>>: EHLO hotmail.com

<<<recv: 250-BAY004-MC3F53.hotmail.com (3.20.0.138) Hello [xxx.xxx.xxx.xxx]

<<<recv: 250-SIZE 36909875

<<<recv: 250-PIPELINING

<<<recv: 250-8bitmime

<<<recv: 250-BINARYMIME

<<<recv: 250-CHUNKING

<<<recv: 250-STARTTLS

<<<recv: 250-AUTH LOGIN

<<<recv: 250-AUTH=LOGIN

<<<recv: 250 OK

send>>>: MAIL FROM:<xxx@hotmail.com>

<<<recv: 250 xxx@hotmail.com....Sender OK

send>>>: NOOP

<<<recv: 250 OK

send>>>: RCPT TO:<catch-all-test-1403562816@hotmail.com>

<<<recv: 550 Requested action not taken: mailbox unavailable

Unexpected response to RCPT TO: 550 Requested action not taken: mailbox unavailable

send>>>: NOOP

<<<recv: 250 OK

send>>>: NOOP

<<<recv: 250 OK

send>>>: RCPT TO:<test1qaz1qaz@hotmail.com>

<<<recv: 250 test1qaz1qaz@hotmail.com 

send>>>: NOOP

<<<recv: 250 OK

send>>>: RSET

<<<recv: 554 Transaction failed

send>>>: QUIT

<<<recv: 

No response in expect(): No response in recv

Closing socket to mx3.hotmail.com:25

For reference, when I run the same test code from a different server sitting on a different network, the results are almost identical to the ones you're seeing. Which was 100% expected.

More details and potential solutions have already been linked to: #3 (comment) .

The specific error I got from hotmail's MX was:

<<<recv: 550 OU-002 (BAY004-MC4F25) Unfortunately, messages from 94.253.xxx.yyy weren't sent. Please
 contact your Internet service provider since part of their network is on our block list. You can al
so refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.

P.S.
Thanks for taking the time to post your issue/questions and I hope the library serves you well!