扫码关注官方订阅号
修改密码发送邮件验证码需要使用队列发送吗?
我没有使用队列发送,有时候会请求超时也没发送成功,应该怎么做比较好
ringa_lee
如果你是项目流量很大导致的超时,那应该把邮件发送服务独立出来处理并使用队列。但如果流量不是很大,也许是程序性能有问题,或者服务器配置太低了。我认为可以试试软硬件优化,要做个独立邮件服务也很花时间。
很多PHP项目都是直接发送邮件,发送失败给用户提示,让用户在点击按钮发送。
大点的项目是专门有发送邮件的服务,由于发送量比较大,可能同时只发送1封,10封或者100封等等。但是他们需要发送的总量远不止这些,所以就会把需要发送的邮件加入队列,轮到了才会发送,发送失败在重新投递,如果还失败,写入数据库或者通过服务间的接口进行通知,最终告诉用户发送失败了,请重新发送。
具体你如何使用,需要根据你的服务的整体架构。如果访问量大可以设置一个专门的发送邮件的服务,如果不多就没有必要了。
找回密码讲究的也是一个实时性,如果你找回密码放队列,不能保证5分钟内送达,我感觉这样的体验也很差。
放队列吧。消耗队列中的数据,没放队列的话用户体验不好,前端页面会等待一段时间。请求超时,或者发送失败,这个可以设置超时或者失败重试机制。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果你是项目流量很大导致的超时,那应该把邮件发送服务独立出来处理并使用队列。但如果流量不是很大,也许是程序性能有问题,或者服务器配置太低了。我认为可以试试软硬件优化,要做个独立邮件服务也很花时间。
很多PHP项目都是直接发送邮件,发送失败给用户提示,让用户在点击按钮发送。
大点的项目是专门有发送邮件的服务,由于发送量比较大,可能同时只发送1封,10封或者100封等等。但是他们需要发送的总量远不止这些,所以就会把需要发送的邮件加入队列,轮到了才会发送,发送失败在重新投递,如果还失败,写入数据库或者通过服务间的接口进行通知,最终告诉用户发送失败了,请重新发送。
具体你如何使用,需要根据你的服务的整体架构。如果访问量大可以设置一个专门的发送邮件的服务,如果不多就没有必要了。
找回密码讲究的也是一个实时性,如果你找回密码放队列,不能保证5分钟内送达,我感觉这样的体验也很差。
放队列吧。消耗队列中的数据,没放队列的话用户体验不好,前端页面会等待一段时间。请求超时,或者发送失败,这个可以设置超时或者失败重试机制。