1. 程式人生 > >使用 PHPMailer 發送郵件出現詭異bug,間歇性發送失敗

使用 PHPMailer 發送郵件出現詭異bug,間歇性發送失敗

error blog sock logs down 所有 cat error: openss

場景

使用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 的說法,

居然成功了

居然成功了

居然成功了

居然成功了
居然成功了

(生無可戀)

使用 PHPMailer 發送郵件出現詭異bug,間歇性發送失敗