Laravel 5.6 中的 Cron 作业发送带有生成的 PDF 文件的电子邮件

Cron job in Laravel 5.6 to send email with a generated PDF file

我有一个关于如何处理的问题。我正在使用 Laravel 目标 : 在每月的最后一天发送包含生成的 PDF 的电子邮件。

你如何做到这一点?

我像这样在控制器中创建我的 PDF(使用 laravel-dompdf 包)

$pdf = PDF::loadView('exportPDF.templatePDF', compact('data'));
return $pdf->stream('fileName'.pdf');

我应该使用通知文件 (php artisan make:notification ActionNotification) 添加到我的作业队列中吗?命令文件(php artisan make:command ActionCmd)?直接在我的控制器中的方法中?或其他方法?

如果您能在 Laravel 中为我提供开发此功能的正确方法,我将不胜感激。 因为我不知道如何以及从哪里开始这样做。

非常感谢。

您可以创建一个 Queued Job and call it via Task Scheduling。 像这样:

php artisan make:job SendMonthlyEmailWithPDF

然后在创建的class中编辑handle方法来发送邮件。 并在每个月底调用它:

$schedule->job(new SendMonthlyEmailWithPDF)->when(function () {
    return \Carbon\Carbon::now()->endOfMonth()->isToday();
});