84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
修改密码发送邮件验证码需要使用队列发送吗?
我没有使用队列发送,有时候会请求超时也没发送成功,应该怎么做比较好
ringa_lee
如果你是项目流量很大导致的超时,那应该把邮件发送服务独立出来处理并使用队列。但如果流量不是很大,也许是程序性能有问题,或者服务器配置太低了。我认为可以试试软硬件优化,要做个独立邮件服务也很花时间。
很多PHP项目都是直接发送邮件,发送失败给用户提示,让用户在点击按钮发送。
大点的项目是专门有发送邮件的服务,由于发送量比较大,可能同时只发送1封,10封或者100封等等。但是他们需要发送的总量远不止这些,所以就会把需要发送的邮件加入队列,轮到了才会发送,发送失败在重新投递,如果还失败,写入数据库或者通过服务间的接口进行通知,最终告诉用户发送失败了,请重新发送。
具体你如何使用,需要根据你的服务的整体架构。如果访问量大可以设置一个专门的发送邮件的服务,如果不多就没有必要了。
找回密码讲究的也是一个实时性,如果你找回密码放队列,不能保证5分钟内送达,我感觉这样的体验也很差。
放队列吧。消耗队列中的数据,没放队列的话用户体验不好,前端页面会等待一段时间。请求超时,或者发送失败,这个可以设置超时或者失败重试机制。
如果你是项目流量很大导致的超时,那应该把邮件发送服务独立出来处理并使用队列。但如果流量不是很大,也许是程序性能有问题,或者服务器配置太低了。我认为可以试试软硬件优化,要做个独立邮件服务也很花时间。
很多PHP项目都是直接发送邮件,发送失败给用户提示,让用户在点击按钮发送。
大点的项目是专门有发送邮件的服务,由于发送量比较大,可能同时只发送1封,10封或者100封等等。但是他们需要发送的总量远不止这些,所以就会把需要发送的邮件加入队列,轮到了才会发送,发送失败在重新投递,如果还失败,写入数据库或者通过服务间的接口进行通知,最终告诉用户发送失败了,请重新发送。
具体你如何使用,需要根据你的服务的整体架构。如果访问量大可以设置一个专门的发送邮件的服务,如果不多就没有必要了。
找回密码讲究的也是一个实时性,如果你找回密码放队列,不能保证5分钟内送达,我感觉这样的体验也很差。
放队列吧。消耗队列中的数据,没放队列的话用户体验不好,前端页面会等待一段时间。请求超时,或者发送失败,这个可以设置超时或者失败重试机制。