Luk*_*lze 0 php email yahoo smtp verify
我尝试通过PHP发送邮件给雅虎收件人.每次我连接到雅虎时,我都会获得收件人地址的250状态代码,即使它不存在.我找到了一个从雅虎获取正确状态代码的脚本,但我找不到我在脚本中所做的差异或错误.我尝试发送不同的命令并在多个服务器上运行脚本,但我总是得到一个250响应RCPT-TO命令.为什么我没有得到正确的答复?我想在收件人不存在时停止我的脚本!
verify-email.org的日志得到了正确的答复:
MX record about yahoo.com exists. Connection succeeded to g.mx.mail.yahoo.com SMTP. =220 mta1062.mail.sp2.yahoo.com ESMTP YSmtp service ready > HELO verify-email.org =250 mta1062.mail.sp2.yahoo.com > MAIL FROM: <check@verify-email.org> =250 sender <check@verify-email.org> ok > RCPT TO: <sdjrfvn3r@yahoo.com> =554 delivery error: dd This user doesn't have a yahoo.com account (sdjrfvn3r@yahoo.com) [0] - mta1062.mail.sp2.yahoo.com
我的脚本的日志得到了错误的响应:
C Connect to h.mx.mail.yahoo.com S 220 mta1144.mail.mud.yahoo.com ESMTP YSmtp service ready C HELO my-domain.com S 250 mta1144.mail.mud.yahoo.com (152.70 ms) C MAIL FROM: <existing-address@my-domain.com> S 250 sender <existing-address@my-domain.com> ok (723.29 ms) C RCPT TO: <sdjrfvn3r@yahoo.com> S 250 recipient <sdjrfvn3r@yahoo.com> ok (152.67 ms) C Close socket connection S Connection closed gracefully
你可以在这里找到适当的脚本:http://verify-email.org
我的剧本:
while(preg_match('/^\d\d\d-/', $r = fgets($sock))) {
$response .= $r;
}
$response .= $r;
return $response;
}
$mxRecord = "a.mx.mail.yahoo.com";
$domain = 'example.com';
$mailFrom = 'mailfrom@example.com';
$rcptTo = 'doesntexist2011@yahoo.com';
$commands = array(
"HELO ".$domain."\r\n",
"MAIL FROM: <".$mailFrom.">\r\n",
"RCPT TO: <".$rcptTo.">\r\n",
// "DATA\r\n",
// ... email subject and content
// ".\r\n",
"QUIT\r\n"
);
if($sock = fsockopen($mxRecord, 25, $errno, $errstr, 30)) {
foreach($array as $cmd) {
echo htmlentities($cmd);
echo '<br />';
fwrite($sock, $cmd);
echo htmlentities(getResponse($sock));
echo '<hr />';
}
fclose($sock);
}
else {
echo 'no connection';
}
?>
Run Code Online (Sandbox Code Playgroud)
一些信息:
小智 5
不要在verify-email.org上浪费你的钱.我写过一个在验证电子邮件地址方面表现很好的课程,但是几天来一直有问题试图从雅虎返回任何东西而不是250收件人OK消息.我终于提出了一个工作,我将在这里分享,不幸的是,在他们的服务器上大约10次左右,他们阻止了我12个小时.然后我将类从我的开发服务器移动到具有良好域名的实时服务器,配置了rDNS以及允许我发送电子邮件而不会将黑名单减去域密钥的所有内容.再一次,我得到的只有250条带有SMTP的回复,而且我的工作也被我的IP封锁了.我终于决定分解并购买剧本"看看他们做的不同".答案是:他们没有做任何不同的事情.事实上,该脚本是垃圾,几乎与您可以在网上找到的任何基本脚本完全相同.我将它加载到2个不同的服务器上并使用两种不同的配置,按照脚本的方向写入信件(它只有1或2条指令)然而,对于我收到554的完全相同的电子邮件地址得到了相同的250响应在网站上.深入挖掘我发现它可能是一个销售脚本的电子邮件营销公司.他们或者与雅虎和其他人建立了关系,或者调用了其他一些后端系统,我不知道,但我知道sccript不起作用.此外,发送给卖方和SWREG(一家数字河流公司)的电子邮件未得到答复以及要求退款.我发送了我的结果的屏幕截图与他们在网站上显示的内容.我现在正在向我的信用卡公司提出争议.重点是,请勿从verify-email.org购买.这是一个骗局.这是除非你想要小便45美元.
我唯一的建议是与专业公司建立业务关系或通过像ReturnPath这样的公司(非常昂贵).或者,向每个订户发送确认电子邮件.我很遗憾地为一家营销公司工作,该公司无法根据他们与其联属合作伙伴的规则发送确认电子邮件,因此我必须使用第三方服务(昂贵)或提出另一种解决方案.祝好运.