PDF作为邮件附件 - Laravel

Kei*_*666 4 pdf sendmail laravel

我想使用barryvdh/laravel-dompdf软件包创建一个PDF,并将其作为附件发送给我.

我现在的代码是:

$pdf = PDF::loadView('layouts.factuur', array('factuur' => $factuur));

Mail::queue('emails.factuur', array('factuur' => $factuur), function($message) use ($pdf)
   {
       $message->to(Input::get('email'), Input::get('naam'))->subject('Onderwerp');
       $message->attach($pdf->output());
    });
Run Code Online (Sandbox Code Playgroud)

但现在我收到以下错误:

Serialization of 'Closure' is not allowed
Run Code Online (Sandbox Code Playgroud)

Luc*_*eos 12

您只能将可序列化的实体发送到队列.这包括Eloquent模型等.但不包括PDF视图实例.所以你可能需要做以下事情:

Mail::queue('emails.factuur', array('factuur' => $factuur), function($message)
   {
       $pdf = PDF::loadView('layouts.factuur', array('factuur' => $factuur));
       $message->to(Input::get('email'), Input::get('naam'))->subject('Onderwerp');
       $message->attach($pdf->output());
    });
Run Code Online (Sandbox Code Playgroud)

  • 如果要将内存数据作为附件附加,也可以为$ message-> attachData()交换$ message-> attach(). (2认同)