修改密码发送邮件验证码需要使用队列发送吗?

修改密码发送邮件验证码需要使用队列发送吗?

我没有使用队列发送,有时候会请求超时也没发送成功,应该怎么做比较好

阅读 2.8k
4 个回答

如果你是项目流量很大导致的超时,那应该把邮件发送服务独立出来处理并使用队列。但如果流量不是很大,也许是程序性能有问题,或者服务器配置太低了。我认为可以试试软硬件优化,要做个独立邮件服务也很花时间。

很多PHP项目都是直接发送邮件,发送失败给用户提示,让用户在点击按钮发送。

大点的项目是专门有发送邮件的服务,由于发送量比较大,可能同时只发送1封,10封或者100封等等。但是他们需要发送的总量远不止这些,所以就会把需要发送的邮件加入队列,轮到了才会发送,发送失败在重新投递,如果还失败,写入数据库或者通过服务间的接口进行通知,最终告诉用户发送失败了,请重新发送。

具体你如何使用,需要根据你的服务的整体架构。如果访问量大可以设置一个专门的发送邮件的服务,如果不多就没有必要了。

找回密码讲究的也是一个实时性,如果你找回密码放队列,不能保证5分钟内送达,我感觉这样的体验也很差。

放队列吧。消耗队列中的数据,没放队列的话用户体验不好,前端页面会等待一段时间。请求超时,或者发送失败,这个可以设置超时或者失败重试机制。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题