TCPDF Laravel电子邮件附件

时间:2015-09-29 03:00:33

标签: php email-attachments tcpdf laravel-5.1

对于在Laravel 5.1中发送PDF附件,TCPDF似乎不能与$dest选项(“E”或“S”)一起使用。启动Acrobat Reader时,文件总是损坏并出错(错误消息:...例如,它是作为电子邮件附件发送的,未被正确解码)。当我尝试像DOMPDF这样的另一个PDF生成器时,解码似乎没问题。

$pdf = new \TCPDF('P', 'in', 'LETTER', true, 'UTF-8', false);
$pdf->WriteHTML(view('emails.receipt_pdf', $receipt_data));
$attachment = $pdf->Output('Receipt - '.date("M-d-Y").'.pdf','E');

Mail::queue('emails.receipt_email', $receipt_data, function($message) use ($email, $attachment)
{
  $message->from('no-reply@website.com')
    ->to($email)
    ->subject('Receipt')
    ->attachData($attachment, 'Receipt.pdf');
});

1 个答案:

答案 0 :(得分:0)

在生成pdf时只需使用“ S”选项。与电子邮件相关的事情将由Laravel完成。

更新

$attachment = $pdf->Output('Receipt - '.date("M-d-Y").'.pdf','E');

$attachment = $pdf->Output('Receipt - '.date("M-d-Y").'.pdf','S');

此外,如果使用的是queue()而不是send(),则由于附件的缘故,它将失败。要排队,写一个作业,然后与作业队列一起发送。