从视图生成 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',
]);
我正在开发发送电子邮件功能。首先,我想从我的视图中生成 .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',
]);