我想创建一个程序,根据条件发送自动电子邮件。
在我的桌子上,我有一个expire_date
列,并希望向所有人发送自动发送电子邮件,提醒他们他们的帐户将在下周到期。
我正在使用laravel和mysql。
谢谢
答案 0 :(得分:1)
设置每日计划任务,检查用户在一周内的到期情况。
protected function schedule(Schedule $schedule)
{
$schedule->command('notify:expirations')
->daily();
}
并制作一个检查过期的新工匠命令。
不要忘记在服务器上设置cron作业以每分钟运行php artisan schedule:run
答案 1 :(得分:0)
您可以使用laravel的Mail
门面。
像
这样的东西$ten_days_from_now = \Carbon\Carbon::now()->addDay(10);
$users = User::where('expire_date', '<', $ten_days_from_now)->get();
foreach ($users as $user) {
Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) {
$m->from('hello@app.com', 'Your Application');
$m->to($user->email, $user->name)->subject('Your Reminder!');
});
}
您可以将这样的放入命令中并使用cron执行它。