Keith666
Keith666

Reputation: 77

PDF as mail attachment - Laravel

I want to create a PDF using the barryvdh/laravel-dompdf package and send this with an email as attachment.

The code I have now is:

$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());
    });

But now I get the following error:

Serialization of 'Closure' is not allowed

Upvotes: 5

Views: 6517

Answers (1)

Luceos
Luceos

Reputation: 6730

You can only send serializable entities to the queue. This includes Eloquent models etc. But not the PDF view instance. So you will probably need to do the following:

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());
    });

Upvotes: 13

Related Questions