年前接到一個客户的 WordPress 網站長期維護訂單,因為是運營的站點,並且安裝了 WooCommerce 系統,在做完搬家操作後發現每次變更訂單狀態到完成時就變更的非常卡頓,但經過測試了好多次之後發現原因在於郵件系統。
以前做本地開發的時候並不是很在意郵件方面的問題,各類操作都可以順利完成,但到了在線服務器問題就來了。
先列下排查的方式:
- 停用現有網站已啓用的所有的插件,並逐一啓用排查;
- 切換 WordPress 主題到默認的進行排查操作;
- 開啓測試站,克隆一個臨時副本網站進行測試排查;
- 安裝一個全新的 WordPress 並啓用 woocommerce 後進行測試排查;
- 備份站點到新的服務器上進行測試排查;
- 線下本機測試備份站點排查;
在技術員做完上面的操作後,發現問題依舊存在,原因並不明朗,同時執行其他操作都沒有問題,但就是在做訂單完成變更時卡着,
我去試了試發現確實如此

後面用了笨辦法,集中窮舉來進行問題爆破,在測試站點了 100 多次後發現了原因:

是郵件系統問題,因為其他操作的時候都並不會觸發 WooCommerce 的郵件操作,但在變更訂單為完成時系統會自動發送郵件給客户和管理員。

查看我們數字商城的設置,臨時通過配置第三方的 SMTP 發信功能後再次進行測試,發現問題自動解決了!
現在也都變成了正常狀態,另外我還在考慮個問題,就是服務器都是用的阿里雲的服務器,但我們在國內的服務器測試發信即使不配上面的接口也不會存在這個問題。
客户站是阿里雲的海外服務器,不知道是不是架構不一樣,我只知道國內的阿里雲是封掉了服務器的發信參數。必須得配第三方才行。