Adjuntar pdf en Mailable

<?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.

Deja un comentario