我只是构建一个简单的系统信息。我想每周一自动发送电子邮件给用户。如何在Laravel 5中自动发送电子邮件,是否有可以解决我的问题的工具?
@bogdan这是我的代码
控制器
public function send_email(){
$date = getdate();
$date_now = date('Y-m-d',strtotime('now'));
$date_exp = date('Y-m-d', strtotime('+6 day'));
$certificate_data = Certificate::where('expired_date', '<=', $date_exp)->where('expired_date', '>=', $date_now)->get();
foreach($certificate_data as $key => $certificate){
$student_data = $certificate->student;
$student_company = Student::find($student_data->id)->company;
$data = ['com_nama' => $student_company->name, 'nama' => $student_data->name, 'judul'=>$certificate->title,'exp_date'=>$certificate->expired_date];
$path_file = Config::get('custom_path.certificates').'/'. $certificate->image;
$test = Mail::send('emails.notification', $data, function($m) use($student_company,$path_file,$student_data,$certificate){
$m->to($student_company->email);
$m->subject('Pemberitahuan Waktu Kadaluarsa Sertifikat');
$m->attach($path_file, ['as' => $student_data->name.'-'.$certificate->title]);
});
}
}
这里的错误
答案 0 :(得分:2)
您可以使用Artisan Scheduling。在你的情况下,这样的事情应该做:
$schedule->call(function()
{
// Send emails here
})->mondays();