在电子邮件中附加文件

时间:2020-07-19 19:30:52

标签: laravel laravel-mail

我想通过laravel应用程序发送的电子邮件作为附件发送文件。这就是我尝试附加文件的方式

  $path = Storage::url($this->newsletter["file"]);

  Mail::send(new NewsLetterEmail($this->newsletter), [], function ($message) use ($path) {
        $message->attach($path);
  });

但是电子邮件没有附件发送。如何将文件附加到电子邮件?

1 个答案:

答案 0 :(得分:1)

您需要使用storage_path()指向storage路径中的文件,然后您可以这样做

 Mail::send(new NewsLetterEmail($this->newsletter), [], function ($message) use ($path) {
    $message->attach($path);
 });

如果您需要更改附件文件名或添加文件mime类型,则可以添加

 Mail::send(new NewsLetterEmail($this->newsletter), [], function ($message) use ($path) {
    $message->attach($path, [
       'as' => 'Attached file name',
       'mime' => 'Attached file mime type',
    ]);
 });