首页 > 解决方案 > Laravel 如何将文件发送到 Mailable

问题描述

我需要用 Laravel 邮件功能替换邮件功能。我创建了 Mailable InvoiceEmail 来发送邮件

    /* Attachment File */
    $filename = "invoice".$request->id.$language.".pdf";
    $path = "core/storage/app/pdf/";
       
    $file = $path.$filename; 

    $data = [
                'subject' => $subject,
                'body'    => $body
            ];
    

    Mail::to($mail_to)->send(new InvoiceEmail($data));

具有构建功能的 InvoiceEmail 类生成电子邮件

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->view('mail.invoice')
                ->with('body',$this->data['body'])
                ->subject($this->data['subject']);
}

如何在此电子邮件中附加 pdf 文件?

标签: laravel

解决方案


/**
* Build the message.
*
* @return $this
*/
public function build()
{
   return $this->view('mail.invoice')
       ->with('body',$this->data['body'])
       ->subject($this->data['subject']);
       ->attachFromStorage('your_location', 'your_pdf.pdf', [
           'mime' => 'application/pdf',
       ]);
}

推荐阅读