我的练习是用 Symfony2 创建邮件系统。
- 10 000 人
- 每封邮件都必须有人名
- 秘书创建消息,点击发送,一分钟后想关闭电脑
- 点击发送后 1 秒,秘书必须收到“正在发送电子邮件”的反馈
- 发送电子邮件必须在后台运行
Process 组件适合这项工作吗?
有人可以给我任何关于解决这个问题的提示吗?
点击发送后我认为是什么(AJAX):
- 检查 SMTP 服务器是否正常工作
- 存储在db秘书消息中
- 显示消息后,发送另一个请求发送之前存储的消息
- 将最大时间限制设置为 0
- 使用 SwiftMailer 发送这 10 000 封电子邮件
或
- 使用 PHP exec 函数启动外部脚本来发送那些写在例如 python
你怎么看?
最佳答案
我这样做的方法是使用假脱机电子邮件功能:
http://symfony.com/doc/master/cookbook/email/spool.html
使用这个脚本
php app/console swiftmailer:spool:send --env=prod
例如,您可以在调用邮件创建脚本后:
- 使用 ajax 调用另一个运行该命令的 php 脚本
- 为该脚本设置 cron 作业
- 运行一个 python 脚本来解析假脱机文件并发送电子邮件
我会做第二个,所以你只需快速假脱机所有这些邮件,发送过程就交给系统了。
关于php - 使用 Symfony2 发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188071/