2017-04-25 130 views
0

我想在注册后(这是没有问题的)触发邮件发送给用户,然后恰好在注册日期后一周,然后在注册日期后一个月。所以我想知道我该怎么做?Laravel延迟电子邮件触发

我认为这些可能不会在Cron任务下完成,因为任务并非真正重复发生,而是仅触发两次。

我是否应该使用App->Console->Kernel.php来设置when()函数或类似的计划?最好的方法是什么?

+0

表中可能有许多注册用户,因此您可以在一天内使用cronjob。有可能某人今天完成了一个星期,另一个人将在今天或明天完成一个月。 –

回答

0

这是基于意见,因此不是特别适合于计算器格式,但这里是我会怎么做:

对用户记录标志为1weekemail1monthemail其默认为false。

每晚运行两个计划任务,获得符合时间标准但未设置标志的用户列表。

使用该结果集发送电子邮件,然后将适当的标志设置为true。

0

创建scheduler function为先检查你的用户表中的每个注册的用户,它需要一个用户条目,其中last activityregistration time是存在的,检查的时间间隔和发送电子邮件,如果时间间隔条件满足,并把这个功能在schedule像每天或每小时。