架了不少開源相關服務都會用到PHP寄信功能,但經常會碰到如下錯誤
Error in email sending: SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

x 如果是用Gmail請設定:允許低安全性應用程式存取您的帳戶
並參考Gmail SMTP設定
帳號:[email protected]
伺服器位址:smtp.gmail.com
端口:587
加密方式:TLS

建議建一個帳號來發信,因為允許低安全將無法使用兩階段驗證
通常Gmail SMTP第一次寄信會被阻擋,並收到信件通知
【有人嘗試登入您已連結的 Google 帳戶,但遭到 Google 封鎖】
這時進入他提供的連結,進入允許就可以了。

2020.10.18 更新,不須允許低安全性應用程式存取您的帳戶。
在兩階段驗證下,可以開啟應用程式密碼,黃框內的密碼複製貼上就可以了

如用上述仍無解,且用其他信箱服務也確定帳密正確,可嘗試關閉SELINUX

$sudo setenforce 0
確認可以發信後,selinux改回來並輸入
$sudo setsebool httpd_can_sendmail on 

以上大概能解決PHP發信問題

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *