如何发送电子邮件以将pdf转换为View,然后将其附加到laravel的邮件中

时间:2019-06-12 09:59:55

标签: php 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']);
});

它以附件形式发送邮件,但附件仅具有最终版本视图的URL。

2 个答案:

答案 0 :(得分:0)

您要做的是将呈现的内容传递到PDF库:

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

或者,PDF库是否有一种loadUrl(或类似方法)可以在您的情况下使用:

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

答案 1 :(得分:0)

您可以使用dompdf软件包

DomPdf

创建dompdf实例后,使用它作为pdf附加到Mail :: send()。

$message->attachData($pdf->output(), 'filename.pdf');