年前接到一个客户的 WordPress 网站长期维护订单,因为是运营的站点,并且安装了 WooCommerce 系统,在做完搬家操作后发现每次变更订单状态到完成时就变更的非常卡顿,但经过测试了好多次之后发现原因在于邮件系统。
以前做本地开发的时候并不是很在意邮件方面的问题,各类操作都可以顺利完成,但到了在线服务器问题就来了。
先列下排查的方式:
- 停用现有网站已启用的所有的插件,并逐一启用排查;
- 切换 WordPress 主题到默认的进行排查操作;
- 开启测试站,克隆一个临时副本网站进行测试排查;
- 安装一个全新的 WordPress 并启用 woocommerce 后进行测试排查;
- 备份站点到新的服务器上进行测试排查;
- 线下本机测试备份站点排查;
在技术员做完上面的操作后,发现问题依旧存在,原因并不明朗,同时执行其他操作都没有问题,但就是在做订单完成变更时卡着,
我去试了试发现确实如此
后面用了笨办法,集中穷举来进行问题爆破,在测试站点了 100 多次后发现了原因:
是邮件系统问题,因为其他操作的时候都并不会触发 WooCommerce 的邮件操作,但在变更订单为完成时系统会自动发送邮件给客户和管理员。
查看我们数字商城的设置,临时通过配置第三方的 SMTP 发信功能后再次进行测试,发现问题自动解决了!
现在也都变成了正常状态,另外我还在考虑个问题,就是服务器都是用的阿里云的服务器,但我们在国内的服务器测试发信即使不配上面的接口也不会存在这个问题。
客户站是阿里云的海外服务器,不知道是不是架构不一样,我只知道国内的阿里云是封掉了服务器的发信参数。必须得配第三方才行。