twikoo icon indicating copy to clipboard operation
twikoo copied to clipboard

功能建议:是否可以在邮件发送超时后 有个重试机制?

Open ghost opened this issue 3 years ago • 10 comments

功能建议:是否可以在邮件发送超时后 有个重试机制?

当 Vercel 服务在 10秒超时后,导致邮件发送失败,这种情况下是否可以重试发送邮件?保证用户都能收到邮件通知。

ghost avatar Nov 08 '21 07:11 ghost

没用的,重试解决不了10秒发不出去的问题

imaegoo avatar Nov 09 '21 01:11 imaegoo

我想问一下: Vercel 服务的10秒超时,指的是: Vercel服务自身发邮件时调用邮件服务商的SMTP服务超时?还是 前端TwikooJS调用 Vercel服务的过程超时?

ghost avatar Nov 09 '21 07:11 ghost

Vercel服务自身发邮件时调用邮件服务商的SMTP服务超时

imaegoo avatar Nov 09 '21 07:11 imaegoo

为啥重试发邮件的逻辑解决不了问题呢?(还是由于Vercel存在无法解决的其他问题)

Vercel服务自身所处的网络环境估计不会太差,在它之上调用outlook、gmail之类的SMTP服务商应该不会每次都超时吧。

ghost avatar Nov 09 '21 07:11 ghost

为啥重试发邮件的逻辑解决不了问题呢?(还是由于Vercel存在无法解决的其他问题)

Vercel服务自身所处的网络环境估计不会太差,在它之上调用outlook、gmail之类的SMTP服务商应该不会每次都超时吧。

超时 ≠ 失败。

即使超时,邮件也可能已经发出了,函数不知道什么时候该重试,什么时候不该重试。

另外,重试需要定时触发函数,Vercel现在没提供这样的定时触发能力。(可以通过Github Actions定时触发,但配置起来太复杂了)

imaegoo avatar Nov 09 '21 08:11 imaegoo

好的。 主要我不懂JS函数,以及Vercel服务的运行原理。

另外,第三方发邮件服务 适用吗?

ghost avatar Nov 09 '21 08:11 ghost

另外,第三方发邮件服务 适用吗?

哪个第三方提供这样的服务呢?

imaegoo avatar Nov 09 '21 09:11 imaegoo

以前看到有这样的三方库,我找找看。

ghost avatar Nov 13 '21 10:11 ghost

我用 office365 一直都是 Task timed out after 10.00 seconds 就没成功过 我还以为是 vercel 的问题

然后今天部署了 waline 同样是 vercel + mongodb office365 能收到评论的推送邮件

所以 这是谁的问题 @imaegoo

jerryc127 avatar Aug 11 '22 14:08 jerryc127

@jerryc127 因为现在是先走垃圾评论检测的逻辑,根据检测结果再发邮件,二者不是同步进行的,所以垃圾评论检测或邮件服务器响应太慢,都可能导致邮件发不出去。

暂时没想到什么好的解决方案

imaegoo avatar Aug 11 '22 14:08 imaegoo