在laravel中发送自动电子邮件

时间:2016-09-21 15:10:25

标签: php mysql laravel email

我想创建一个程序,根据条件发送自动电子邮件。

在我的桌子上,我有一个expire_date列,并希望向所有人发送自动发送电子邮件,提醒他们他们的帐户将在下周到期。
我正在使用laravel和mysql。

谢谢

2 个答案:

答案 0 :(得分:1)

设置每日计划任务,检查用户在一周内的到期情况。

/ app / kernel.php

中的

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执行它。