将文件附加到公用文件夹中的电子邮件中

时间:2020-07-21 06:53:37

标签: laravel laravel-mail

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

 $path = public_path(). "/storage" $this->file->media;
 return $this->view('emails.newsletter')->attach($path);

但是电子邮件抛出错误

League \ Flysystem \ FileNotFoundException:在路径中找不到文件

这是路径变量的结果

/home/amir6/public_html/backend/public/storage/files/fyJ2jREuCGVC85fn.pdf

因此文件存在于url / storage / files / fyJ2jREuCGVC85fn.pdf

如何将文件附加到电子邮件?

2 个答案:

答案 0 :(得分:0)

尝试使用 storage_path()函数代替 public_path()函数

例如:- $ path = storage_path('app /'.$ this-> file [“ media”]); return Image :: make($ path)-> response();

使用Image Intervention to handle Image processing

答案 1 :(得分:0)

我添加了文件mime类型,并且有效

 $path = public_path().  Storage::url($this->file->media);
 return $this->view('emails.newsletter')->attach($path, [
    'as' => 'newsletter',
    'mime' => 'application/pdf',
 ]);