首页 > 解决方案 > Laravel:将多个 PDF 附加到电子邮件

问题描述

以下是通过电子邮件发送 PDF 的代码:

        $pdf = PDF::loadHTML($str_html)->setPaper('a4', 'portrait');  

        Mail::send('emails.mail', $data, function($message) use ($data,$pdf){
            $message->from('noreply@...');
            $message->to('...');
            $message->subject('test test');
            //Attach PDF doc
            $message->attachData($pdf->output(),'invoice.pdf');
        });

但我的要求是通过电子邮件发送多个 PDF,我该怎么做?

标签: laravel

解决方案


$attachments = [
    // first attachment
    '/path/to/file1',

    // second attachment
    '/path/to/file2',
    ...
];

    $pdf = PDF::loadHTML($str_html)->setPaper('a4', 'portrait');  

    Mail::send('emails.mail', $data, function($message) use ($data,$pdf){
        $message->from('noreply@...');
        $message->to('...');
        $message->subject('test test');
        //Attach PDF doc

        foreach($attachments as $filePath){
              $message->attach($filePath);
        }
    });

推荐阅读