我正在尝试使用PHPMailer通过在Ubuntu 18.04.1的apache2中运行的php脚本使用PHPMailer发送电子邮件,但是在打开连接后失败。我已启用调试,输出如下:
2019-02-20 11:18:17 Connection: opening to smtp.office365.com:587,
timeout=300, options=array()
2019-02-20 11:18:17 Connection: opened
2019-02-20 11:23:17 SERVER -> CLIENT:
2019-02-20 11:23:17 CLIENT -> SERVER: EHLO localhost
2019-02-20 11:23:17 SERVER -> CLIENT:
2019-02-20 11:23:17 SMTP ERROR: EHLO command failed:
2019-02-20 11:23:17 SMTP NOTICE: EOF caught while checking if
connected
2019-02-20 11:23:17 Connection: closed
SMTP Error: Could not connect to SMTP host.
SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Mailer Error: SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
我认为这是一个网络问题,因为我什至无法ping通“ google.com”之类的外部服务器,也没有返回数据包,并且我有100%的数据包丢失。但是,我可以“挖google.com”并获得一个IP地址作为回报。
我还可以执行“ telnet smtp.office.365 587”,它再次返回一个IP地址以及域“ LHR-efz.ms-acdc.office.com”。
在我看来,我的PC上的流量有问题,这可能是SMTP连接失败的原因。
答案 0 :(得分:0)
2019-02-20 11:18:17 Connection: opening to smtp.office365.com:587,
...
2019-02-20 11:23:17 CLIENT -> SERVER: EHLO localhost
您的SMTP客户端已连接到Office365服务器,然后您的客户端声称它是Office365邮件服务器。尽管我很少相信Microsoft具有一致性,可靠性或可预测性之类的字眼,但我并不奇怪他们的服务器之后不愿与您交谈。