yii2如何在后台发送邮件

yii2如何在后台发送邮件,yii2,Yii2,我在这个主题上做了各种各样的搜索,似乎有很多方法可以在用户事件之后发送电子邮件。例如,注册一个帐户。我不喜欢将它作为提交页面的一部分发送,因为它往往需要几秒钟的时间。在过去,我只是设置了一个cron,每10分钟左右运行一次,然后触发一个脚本来检查邮件是否需要发送。这是可行的,但让它每10分钟检查一次似乎是在浪费资源 我的问题是。。。是否有一种方法可以触发邮件在页面提交后立即发送,而不是在页面处理过程中发送?换句话说,一旦页面传递控件完成,就将其传递给另一个脚本。我认为这在PHP中是不可能的,但我

我在这个主题上做了各种各样的搜索,似乎有很多方法可以在用户事件之后发送电子邮件。例如,注册一个帐户。我不喜欢将它作为提交页面的一部分发送,因为它往往需要几秒钟的时间。在过去,我只是设置了一个cron,每10分钟左右运行一次,然后触发一个脚本来检查邮件是否需要发送。这是可行的,但让它每10分钟检查一次似乎是在浪费资源

我的问题是。。。是否有一种方法可以触发邮件在页面提交后立即发送,而不是在页面处理过程中发送?换句话说,一旦页面传递控件完成,就将其传递给另一个脚本。我认为这在PHP中是不可能的,但我想我会问


我使用的是MySQL,我认为一旦创建了一条记录,就可以使用数据库触发器,但我对它不是很熟悉

对于Yii 1,我使用Yii resque。 yii1的示例:

也许这对yii 2.0有好处 流程:浏览器=>submit=>save data=>call Resque作业(此作业在后台运行)=>Done。 用户不需要等待


对于Yii2,您可以使用Yii2 resque:

这正是@hoangk试图避免的。yii2 resque依赖于轮询。它不会立即执行任何操作。