Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用laravel使用cronjobs发送多封邮件?_Laravel_Cron - Fatal编程技术网

如何使用laravel使用cronjobs发送多封邮件?

如何使用laravel使用cronjobs发送多封邮件?,laravel,cron,Laravel,Cron,cron作业每小时运行,每日自动运行不起作用 hourlyemail.php <?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\Mail; use App\Jobs\IntervalTaskCreationMailJob; use DB; class HourlyMail extends Command { /** * The na

cron作业每小时运行,每日自动运行不起作用

hourlyemail.php

 <?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Mail;
use App\Jobs\IntervalTaskCreationMailJob;
use DB;
class HourlyMail extends Command
{
/**
 * The name and signature of the console command.
 *
 * @var string
 */
protected $signature = 'HourlyMail:email';

/**
 * The console command description.
 *
 * @var string
 */
protected $description = 'Hourly mail sending by admin';

/**
 * Create a new command instance.
 *
 * @return void
 */
public function __construct()
{
    parent::__construct();
}

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    $hourly =DB::table('regular_tasks')
        ->leftJoin('regular_task_user','regular_tasks.id', '=','regular_task_user.regular_task_id')
        ->leftJoin('users','regular_task_user.user_id', '=','users.id')
        ->select('regular_tasks.*','users.email')
        ->where('regular_tasks.task_freq', 'hourly')->get();          
        
        foreach($hourly as $d){
        $demail = $d->email;
        IntervalTaskCreationMailJob::dispatch($d,$demail)
        ->delay(now()->addSeconds(10));
        }
               
               
 }
 }
<?php

namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class HourlySendMail extends Mailable
{
use Queueable, SerializesModels;  
public $d;

/**
 * Create a new message instance.
 *
 * @return void
 */
public function __construct($d)
{
    $this->d = $d;
}

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->from('info@scmgalaxy.com')
    ->subject('Hourly Mail from Devops Team')
    ->view('mails.intervaltaskcreationmail')
    ->with('d', $this->d);
}
}

因为您已经创建了cron作业,所以可以在
app/Console/Kernel.php
文件中安排它,如下所示:

protected function schedule(Schedule $schedule)
{
    $schedule->command('HourlyMail:email')->daily();
}
除了
daily()
,还有很多其他方法可用于任务调度。你可以在电视上看到它们