微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

fsockopen 超时取决于我的位置

如何解决fsockopen 超时取决于我的位置

我正在使用 PHP 编写脚本,但遇到了问题,我有一个功能可以检查某个人的电子邮件是否存在,这在我家中运行良好,但无法形成我的工作。

我的 PHP 代码

function validate_email($email) {
  if(!preg_match ("/^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]+$/",$email)){
    print("false not a mail with valid format");
    return(false);
  }
  $lines = array();
  list($prefix,$domain) = explode("@",$email);
  if(getmxrr($domain,$mx,$weight) == 0) {
    file_put_contents("result.txt","\nemail not found : " . $domain . " no MX record",FILE_APPEND);
    print("false,no mxrecord");
    return(false);
  }
  if(isset($mx[0])) {
        $connect = @fsockopen($mx[0],25,$errno,$errstr,10);
    if(!$connect) {
      echo "ERROR: " . $mx[0] . " - " . $errstr . " - Code " . $errno . "\n";
      file_put_contents("result.txt","\nemail not found : " . "ERROR : " . $mx[0] . " - " . $errstr . " - Code " . $errno,FILE_APPEND);
      return (false);
    }
    else {
      echo "\nSUCCESS: ok";
      $lines[] = fgets ($connect,1024);
            fputs ($connect,"HELO ".$mx[0]."\r\n");
      sleep (2);
            $lines[] = fgets ($connect,"MAIL FROM: <mailvalidate@mailtest.com>\r\n");
      sleep (2);
            $lines[] = fgets ($connect,"RCPT TO: <".$email.">\r\n");
      sleep (2);
            $lines[] = fgets ($connect,"QUIT");
      sleep (2);
            fclose($connect);
      if (count($lines) == 4){
        list($returnStatus,$message) = explode(' ',$lines[3]);
        if($returnStatus == '250') {
          print("valid : " . $email);
          file_put_contents("result.txt","\nEmail : " . $email,FILE_APPEND);
          return(true);
        }
      }
    }
  }
  file_put_contents("result.txt","\nemail not found : " . $email,FILE_APPEND);
  print("\nemail not found : " . $email);
  return(false);
}  

这给我一个错误:“连接超时 - 代码 110” 错误在这一行: $connect = @fsockopen($mx[0],587,10);

我尝试将端口更改为 587,但仍然无法正常工作。 我确实运行了一个 traceroute,它跳了 15 次,然后没有响应。 无论域名如何,它都会犯同样的错误,所以我认为我的工作连接有问题。

我怀疑我工作中的防火墙阻止了数据,但现在由于无法访问它,我正在尝试其他解决方案。

Sry 英语不好,感谢阅读 :)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。