2016-09-21 208 views
0

我想创建一个将自动发送电子邮件基座上的状态的过程。发送电子邮件自动在laravel

在我的表我有一个expire_date列,并希望发送电子邮件自动给大家提醒他们,他们的帐户将在下周到期。
我使用laravel和MySQL。

谢谢

+0

而且问题会是什么? –

+1

我建议你在cron作业读了[调度Laravel文档](https://laravel.com/docs/5.3/scheduling)和[邮件Laravel文档](https://laravel.com/docs/5.3/mail) – Carlos

回答

1

设置,检查一个星期内到期的用户,每天的计划任务。

在app /控制台/ kernel.php

protected function schedule(Schedule $schedule) 
{ 
    $schedule->command('notify:expirations') 
       ->daily(); 
} 

,并用于检查到期新人员命令。

不要忘了在服务器上设置cron作业运行php artisan schedule:run每分钟

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('[email protected]', 'Your Application'); 

     $m->to($user->email, $user->name)->subject('Your Reminder!'); 
    }); 
} 

你可以把像这样到一个命令,并用一个cron执行它。