我想从我的laravel项目中发送自动生成的每周简报。从控制器我想将新闻报道表格中的一些laravel查询结果发送给列表中的所有用户。
此时我可以将邮件发送给单个用户,因为他们自己敲了一些操作。现在我希望在特定频繁的时间(日/周/月)自动生成电子邮件...我也希望将这些邮件发送到数据库中的所有用户,循环播放。谢谢你帮助我进行这项微小的研究:)
答案 0 :(得分:8)
php artisan command:make SendNewletterCommand
在app /命令中,编辑SendNewletterCommand.php和:
设置命令名称:
protected $name = 'newsletter:send';
创建fire()方法:
public function fire()
{
foreach(User::all() as $user)
{
Mail::send('emails.newletter', $data, function($message) use ($user)
{
$message->to($user->email, $user->name)->subject('Welcome!');
});
}
}
通过编辑app / start / artisan.php并添加:
,在artisan中注册您的命令Artisan::add(new SendNewletterCommand);
将新命令添加到crontab:
0 0 * * sun php /your/project/path/artisan newsletter:send
它将在午夜的每个星期天发送您的电子邮件。