doukang8949 2015-04-04 22:53
浏览 38
已采纳

如何在Laravel 5中自动发送电子邮件

I just build a simple system information. I want to send email automatically to user every Monday. How to send email automatically in Laravel 5, is there a tool that can solve my problem?

@bogdan this is my code

Controller

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]);
        });                         
    }

}

here the error

enter image description here

  • 写回答

1条回答 默认 最新

  • douhoujun9304 2015-04-04 23:14
    关注

    You can make use of Artisan Scheduling. In your case something like this should do:

    $schedule->call(function()
    {
        // Send emails here
    
    })->mondays();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了
  • ¥20 已知坐标,换成MATLAB可以用的数据
  • ¥15 这个python五子棋代码的每一句意思是什么啊
  • ¥15 求一段隐藏代码,隐藏一些内容