php-我应该在发送之前在数据库中将电子邮件排队,而不是即时发送吗?
作者:互联网
我正在开发一个网站,该网站在某些事件/用户操作(在照片中标记,添加为朋友等)之后向用户发送电子邮件通知.
根据我的经验,从Web服务器发送电子邮件可能很慢.例如,当创建一个新用户时,我将发送一封电子邮件以确认/欢迎该帐户.但是,在页面发送完电子邮件后,有时会有短暂的停顿,等待页面加载.
我担心的是,如果我在连接到邮件服务器时遇到问题,或者邮件服务器超载,它将成为我的应用程序/页面加载的瓶颈
所以我的问题是,从始终发送电子邮件的Web应用程序发送电子邮件的最佳方法是什么?
我是否应该通过将电子邮件内容存储在数据库中然后创建计划的cron作业来处理所有未发送的电子邮件来创建队列系统?
还是在用户完成操作/事件(创建会员帐户,在照片中标记等等)之后直接发送电子邮件?
解决方法:
否.请您的系统管理员来配置邮件服务器.正确配置的邮件服务器应比将邮件存储在数据库上更快.
使用本地发送以避免网络延迟.
[邮件功能]
sendmail_path = /usr/sbin / sendmail
在php.ini中
即使邮件服务器关闭(消息将排队),它也能正常工作.
标签:application-design,performance,email,scaling,php 来源: https://codeday.me/bug/20191023/1913766.html