公司开发的系统邮件发送用的是 SendCloud 的邮件服务,然后最近遇到客户一直收不到邮件,但是在我们开发的系统的后台查询提示邮件发送成功。
于是就前往 SendCloud 后台看,发现提示的错误是:其他(worker:spam keywords filtered) 于是再次查看他们的 API 接口说明文档地址,发现返回的结果中"message"要么等于"success"要么等于"error"。
我们的后台业务逻辑是接口返回的 success 就认为发送成功,而实际上 success 不一定代表邮件是不是投递到收信人邮箱,这在后来的工单中得以确认。
有人可能会问提示的错误是发送的邮件中包含敏感关键字,但是由于业务的原因,发送给客户的邮件内容一部分也来自第三方数据,于是我们也向 SendCloud 索要关键字列表,但是对方不予提供(可以理解)。但是给的解决办法是发送完上后台自己看发送结果。

工单中给的解决办法实在是高,要么你们多提供一个返回字段,要么就承认存在这个问题,让我每次发完去 SendCloud 后台看下,实在无法理解,那要你们的 api 干啥我自己本地发不就好了。准备切到其他平台,求大家推荐个不错的。