从视图生成 PDF 以发送附有 PDF 文件的电子邮件而不将其保存到磁盘 Laravel 5

Generate PDF from view to send email attaching the PDF file without saving it into disk Laravel 5

我正在开发发送电子邮件功能。首先,我想从我的视图中生成 .pdf 文件。然后我想通过电子邮件附加生成的 .pdf 文件而不将其保存到磁盘中。我在我的控制器中使用以下内容:

$pdf = PDF::loadView('getpdf', $data);
Mail::to($to_email)->send(new Mysendmail($post_title, $full_name))
->attachData($pdf->output(), "newfilename.pdf");

我得到这个错误:"Call to a member function attachData() on null"

如果我在没有附件的情况下使用下面的内容,效果很好:

$pdf = PDF::loadView('getpdf', $data);
Mail::to($to_email)->send(new Mysendmail($post_title, $full_name));

请指教

我认为您需要将其附加到邮件中,而不是邮件中。

$pdf = PDF::loadView('getpdf', $data);
$message = new Mysendmail($post_title, $full_name);
$message->attachData($pdf->output(), "newfilename.pdf");
Mail::to($to_email)->send($message);

只需在代码的最后使用 'mime' => 'application/pdf'。简单!

` $pdf = PDF::loadView('getpdf', $数据); Mail::to($to_email)->发送(new Mysendmail($post_title, $full_name)) ->attachData($pdf->output(), "newfilename.pdf"), [ 'mime' => 'application/pdf', ]); `

只需在代码的最后使用 'mime' => 'application/pdf'。简单!

$pdf = PDF::loadView('getpdf', $data); 
Mail::to($to_email)->send(new Mysendmail($post_title, $full_name)) 
->attachData($pdf->output(), "newfilename.pdf"), [ 
'mime' => 'application/pdf', 
]);