場景
使用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 的說法,
居然成功了
居然成功了
居然成功了
居然成功了
居然成功了
(生無可戀)