首页 > 解决方案 > 如何发送将视图转换为pdf的电子邮件,然后将其附加到laravel的邮件中

问题描述

我想发送带有pdf附件的电子邮件。pdf应该是视图。因此,应将视图转换为 pdf,然后附加到邮件并发送。

邮件功能代码。

$data = array('invoice_basic_data'=>$invoice_basic_data,'invoice_data'=>$invoice_data,'email'=>$email);
Mail::send('finalprint', $data, function($message) {
    $email=request('email');
    $message->to($email, )->subject('Your Invoice');
    $message->from('xyz@gmail.com','Jaydeep Rajgor');
    $pdf=PDF::loadHtml(URL::to('finalprint'));
    $message->attachData($pdf->output(),'abc.pdf',['mime'=>'application/pdf']);
});

它将邮件作为附件发送,但附件只有查看 finalprint 的 URL。

标签: phplaravel

解决方案


您要做的就是将渲染的内容传递给 PDF 库:

$pdf = PDF::loadHtml(view('finalprint')->render());

或者,PDF库是否有可能具有loadUrl可用于您的情况的(或此类)方法:

$pdf = PDF::loadUrl(URL::to('finalprint'));

推荐阅读