iT邦幫忙

0

[ XCART ] PHPMailer SMTP connect() failed 問題

  • 分享至 

  • xImage
  •  

昨天在工作上處理 SMTP 碰到這個棘手的問題

  • SMTP connect() failed

什麼是 SMTP?

SMTP 又稱 Simple Mail Transfer Protocol,字面上即看得出來這是有關郵件傳輸的協定。
在廣大的網絡裡,資訊(包含網頁、影音、郵件 ... )傳遞都是由 Protocol 來規範的。
SMTP 即是用來規範郵件傳遞的協定。

SMTP Server?

如果你要寄 Email,一定要有 SMTP Server。
假如你在網絡上營運一間公司,通常需要「寄信」給客戶,這時候必定需要一個 Server 來幫你處理寄信的動作。
SMTP Server 好比郵局,可以寄信,且有很多窗口 ( ports )。
Google SMTP, SMTP2GO 等,還有其他服務商,都是很方便的第三方 SMTP app。

SMTP Server 如何運作

當 Client 按下 Send 送出信件,此時會打開與 SMTP Server 間的通道 ( port ),然後開始一來一往的 request / response,確保 Client 擁有足夠的資料、權限去發信給收件人,SMTP Server 也會在對話結束前,將信件給送出去。
https://ithelp.ithome.com.tw/upload/images/20221117/201516323qiWDEni8B.png

SMTP connect() failed

上網爬了很多文,有需多原因可能導致 connect failed,像是 SMTP server config 沒有填寫好,或者 port 沒有填寫好 (client 和 server 的 port 對不上) 等等,還有諸多可能。

昨日的情況是以 XCART 作為後台的商城,當客戶忘記密碼時,沒有收到忘記密碼的信件。
檢查了 SMTP config 和程式碼都沒有頭緒,最後發現是 XCART -> Company "From" email 不是填寫 verified sender 的 email address,所以 SMTP Server 無法做連線。

且 cPanel 的 port 與 SMTP Server Config 的 port 沒有對起來,這也是一個錯誤。

以上希望能幫助到人

[參考]
-https://postmarkapp.com/guides/everything-you-need-to-know-about-smtp


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言