插件测试发信报错,服务端回 535 Authentication failed,密码反复确认没有输错。乍看像缓存或者权限的锅,追下去往往不是。
swaks --server smtp.example.com:587 --auth LOGIN # 手动输入账号和专用码看返回码
追下去是这么回事:多数邮箱对第三方客户端关闭了基础认证,必须用应用专用码或授权码,直接填网页登录密码一定会被拒。
「SMTP 535 认证失败」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
具体做法是,在邮箱后台开启两步验证;生成一条应用专用码;把专用码填进插件的密码框里。
验收就看一点,手动认证返回 235 认证成功,插件测试信能正常发出。
