Open ghost opened 3 years ago
没用的,重试解决不了10秒发不出去的问题
我想问一下: Vercel 服务的10秒超时,指的是: Vercel服务自身发邮件时调用邮件服务商的SMTP服务超时?还是 前端TwikooJS调用 Vercel服务的过程超时?
Vercel服务自身发邮件时调用邮件服务商的SMTP服务超时
为啥重试发邮件的逻辑解决不了问题呢?(还是由于Vercel存在无法解决的其他问题)
Vercel服务自身所处的网络环境估计不会太差,在它之上调用outlook、gmail之类的SMTP服务商应该不会每次都超时吧。
为啥重试发邮件的逻辑解决不了问题呢?(还是由于Vercel存在无法解决的其他问题)
Vercel服务自身所处的网络环境估计不会太差,在它之上调用outlook、gmail之类的SMTP服务商应该不会每次都超时吧。
超时 ≠ 失败。
即使超时,邮件也可能已经发出了,函数不知道什么时候该重试,什么时候不该重试。
另外,重试需要定时触发函数,Vercel现在没提供这样的定时触发能力。(可以通过Github Actions定时触发,但配置起来太复杂了)
好的。 主要我不懂JS函数,以及Vercel服务的运行原理。
另外,第三方发邮件服务 适用吗?
另外,第三方发邮件服务 适用吗?
哪个第三方提供这样的服务呢?
以前看到有这样的三方库,我找找看。
我用 office365 一直都是 Task timed out after 10.00 seconds 就没成功过 我还以为是 vercel 的问题
然后今天部署了 waline 同样是 vercel + mongodb office365 能收到评论的推送邮件
所以 这是谁的问题 @imaegoo
@jerryc127 因为现在是先走垃圾评论检测的逻辑,根据检测结果再发邮件,二者不是同步进行的,所以垃圾评论检测或邮件服务器响应太慢,都可能导致邮件发不出去。
暂时没想到什么好的解决方案
功能建议:是否可以在邮件发送超时后 有个重试机制?
当 Vercel 服务在 10秒超时后,导致邮件发送失败,这种情况下是否可以重试发送邮件?保证用户都能收到邮件通知。