3

我的练习是用 Symfony2 创建邮件系统。

  • 10 000 人
  • 每封电子邮件都必须有人名
  • 秘书创建消息,单击发送,几分钟后想关闭计算机
  • 点击发送后 1 秒秘书必须得到反馈“发送电子邮件”
  • 发送的电子邮件必须在后台工作

流程组件是否适合这项工作?

有人可以给我任何关于解决这个问题的提示吗?

我认为点击发送后(AJAX):

  • 检查 SMTP 服务器是否正常工作
  • 存储在数据库秘书消息中
  • 显示消息后,发送另一个请求以发送先前存储的消息
  • 将最大时间限制设置为 0
  • 使用 SwiftMailer 发送那 10 000 封电子邮件

或者

  • 使用 PHP exec 函数启动外部脚本以发送那些用 Python 编写的电子邮件

你怎么看?

4

1 回答 1

1

我这样做的方法是使用假脱机电子邮件功能:

http://symfony.com/doc/master/cookbook/email/spool.html

使用这个脚本

php app/console swiftmailer:spool:send --env=prod

例如,您可以在调用邮件创建脚本后:

  • 使用 ajax 调用另一个运行该命令的 php 脚本
  • 为该脚本设置 cron 作业
  • 运行解析假脱机文件并发送电子邮件的 python 脚本

我会做第二个,所以你只需快速假脱机所有这些邮件,发送过程留给系统。

于 2012-06-27T20:34:03.217 回答