如何解决连接到 gmails mx 记录
我正在尝试连接到 gmail mx 记录以验证用户是否存在。以下内容适用于我的开发箱,但不适用于我的生产服务器,这让我认为生产服务器上的 SSL 必须与它有关。
为了清楚起见:我不需要发送和发送电子邮件,也不需要将 gmail 用作 smtp 服务器。我只是想确认一个用户名的存在
$email = 'someuser@gmail.com'
$t = explode('@',$email);
$host = end($t);
$smtp = new SMTP();
$mx_records = [];
if (!getmxrr($host,$mx_records)){
throw new Exception('No Mx records for domain ' . $host);
};
//Connect to an SMTP server
$can_connect = false;
foreach ($mx_records as $msrs){
if ($smtp->connect($msrs,25)) {
$can_connect = true;
break;
}
}
if (!$can_connect) {
throw new Exception('Connect failed');
}
这里的 SMTP 来自 phpMailer SMTP 类。我一直在努力让生产服务器正常工作。这是我从调试中得到的错误输出:
2020-12-19 19:01:11 Connection: opening to alt4.gmail-smtp-in.l.google.com:25,timeout=15,options=array (),)
2020-12-19 19:01:26 Connection failed. Error #2: stream_socket_client(): unable to connect to alt4.gmail-smtp-in.l.google.com:25 (Connection timed out) [/opt/bitnami/apps/wordpress/htdocs/wp-includes/PHPMailer/SMTP.php line 375]
2020-12-19 19:01:26 SMTP ERROR: Failed to connect to server: Connection timed out (110)
SMTP error: Connect failed
SSL loaded
ssl 加载检查来自:
<?php echo (extension_loaded('openssl')?'SSL loaded':'SSL not loaded')."\n"; ?>
我已经尝试将这些选项添加到 php connect 调用以及我见过的其他故障排除中,但不是运气。我没有抱太大希望,因为使用这种方法的人,我相信,试图连接到作为他们的服务提供商的 gmail SMTP 服务器。
$SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,'verify_peer_name' => false,'allow_self_signed' => true
)
);
$smtp->connect($mx_records[0],25,15,$SMTPOptions);
我还尝试在端口上进行连接:25
、465
、587
我认为必须有 1 件我遗漏的简单事情,但到目前为止没有任何效果。
edit_1
对防火墙检查的评论我已经去探索了。我的实例是一个 aws Lightsail 实例,据我所知,这意味着实例上没有安装防火墙,但实例上安装了 aws 虚拟防火墙。在服务器的 unbuntu 实例中检查防火墙产生:
bitnami@******:~$ sudo ufw
sudo: ufw: command not found
然而,我确实为端口 25 上的传入流量打开了端口,只是为了捣乱,但没有运气。
edit_2
我刚刚设置了 telnet 并尝试使用它连接到 mx 记录之一:
telnet> open alt4.gmail-smtp-in.l.google.com 25
Trying 142.250.96.26...
Trying 2607:f8b0:4023:403::1a...
telnet: Unable to connect to remote host: Network is unreachable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。