laravel 4中的每周电子邮件简报

Sag*_*dal 4 php email laravel eloquent laravel-4

我想从我的laravel项目发送自动生成的每周时事通讯.从控制器我想以新闻报表的形式将laravel查询的一些结果发送给列表中的所有用户.

此时我可以将邮件发送给单个用户,因为他们自己敲了一些操作.现在我希望在特定频繁的时间(日/周/月)自动生成电子邮件...我也希望将这些邮件发送到数据库中的所有用户,循环播放.谢谢你在这个小小的研究中帮助我:)

Ant*_*iro 8

创建一个工匠命令:

php artisan command:make SendNewletterCommand
Run Code Online (Sandbox Code Playgroud)

在app /命令中,编辑SendNewletterCommand.php并:

设置您的命令名称:

protected $name = 'newsletter:send';
Run Code Online (Sandbox Code Playgroud)

创建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!');
        });
   }
}
Run Code Online (Sandbox Code Playgroud)

通过编辑app/start/artisan.php并添加以下内容,在artisan中注册您的命令:

Artisan::add(new SendNewletterCommand);
Run Code Online (Sandbox Code Playgroud)

并将新命令添加到您的crontab:

0 0 * * sun php /your/project/path/artisan newsletter:send
Run Code Online (Sandbox Code Playgroud)

它将在午夜的每个星期天发送您的电子邮件.