场景
使用PHPMailer的SMTP发送邮件,用的是腾讯企业邮箱 smtp.exmail.qq.com
在邮箱设置里看到配置smtp方法
问题描述
- 本地windows开发环境发送邮件100%成功
- 远端linux实际环境发送邮件50%成功,50%超时。显示
SMTP Error: Could not authenticate
错误
解决过程
百度+goolge,类似的bug解决方法基本围绕以下几点:
- sockets/openssl 扩展问题
- php版本过低 fopensocket 问题
- 用户密码(授权码)问题
- smtp 端口
看了一圈,这些问题应该会导致所有邮件失败。跟我的诡异情况不符
后来看到一个:
phpmailer SMTP connect() failed的解决方法 -- http://www.ysweb.cn/bcl/qt/2014/1121/19.html
把 SSL/465 改成 TLS/587
抱着试试看的心态,因为QQ企业邮箱设置里没有说 tls 的说法,
居然成功了
居然成功了
居然成功了
居然成功了
居然成功了
(生无可恋)