首页 > 解决方案 > 如何在 Laravel 应用程序中向电子邮件添加附件?

问题描述

如何在 laravel 邮件中为外部文件制作附件?

我的存储在 S3 上,我想将它附加到我的 laravel 邮件中。

    Mail::send('emails.mail', $ddd, function($message) use ($compose_to, $compose_cc, $compose_bcc, $title, $subject, $bill) {
      $message->to(explode(',', $compose_to));
      isset($compose_cc) ? $message->cc(explode(',', $compose_cc)) : '';
      isset($compose_bcc) ? $message->bcc(explode(',', $compose_bcc)) : '';
      
      foreach($bill->files as $bb){
        $message-> attachFromStorageDisk('s3', 'snap/brief/'.$bb->filename);
      }

      $message->subject($subject);
      
      $message->from('hello@b166er.co', env('APP_NAME'));
    });

我怎样才能做到?

标签: laravel

解决方案


请让我知道它是降价邮件吗?还请提及 laravel 版本。

您可以按照以下代码并将文件路径替换为相关路径。

Mail::send('emails.mail', $ddd, function($message) use ($compose_to, $compose_cc, $compose_bcc, $title, $subject, $bill) {
  $message->to(explode(',', $compose_to));
  isset($compose_cc) ? $message->cc(explode(',', $compose_cc)) : '';
  isset($compose_bcc) ? $message->bcc(explode(',', $compose_bcc)) : '';
  
  foreach($bill->files as $bb){

    $message->attach(Storage::disk('s3')->url('snap/brief/'.$bb->filename));
  }

  $message->subject($subject);
  
  $message->from('hello@b166er.co', env('APP_NAME'));
});

推荐阅读