<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class HistoriaClinicaMail extends Mailable
{
use Queueable, SerializesModels;
public $subject = 'HISTORIA CLÍNICA DEL PACIENTE';
public $historia_clinica;
public $pdf;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($historia_clinica, $pdf)
{
$this->pdf = $pdf;
$this->historia_clinica = $historia_clinica;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('mails.historia_clinica')
->attachData($this->pdf, 'historia_clinica.pdf', ['mime' =>
'application/pdf']);
}
}
Luego en la función en la que enviamos el correo tomamos la salida de la función output de Dompdf y la pasamos por parámetro hacia acá:
public function enviarCorreo($historia_clinica)
{
$pdf = PDF::loadView('reportes.historia_clinica', compact('historia_clinica'));
$output = $pdf->output();
Mail::to($historia_clinica->usuario->correo)
->send(new HistoriaClinicaMail($historia_clinica, $output));
}
Esto funcionó para mí, espero que funcione para alguien más.