使用Laravel SMTP发送附件并保存到本地存储



我在论坛中读到了一个类似的主题,但它在我身上没有成功。我哪里犯了错误?

视图

<input type="file" class="" name="document">

发送

Mail::send([], [], function ($message) use ($request) {
$message->to($request->to);
$message->subject($request->subject);
$message->setBody($request->message);
$data = $request->document;
$message->attach($data['document']->getRealPath(), array(
'as' => $data['document']->getClientOriginalName(),
'mime' => $data['document']->getMimeType()));

我想以这种方式发送附件,但它没有。我需要先上传然后发送吗?

在官方 laravel's 文档中有一整节是关于请求中的文件的。

https://laravel.com/docs/7.x/requests#files

https://laravel.com/api/7.x/Illuminate/Http/UploadedFile.html

因此,根据上述文档,您上传的文件在处理请求时(暂时(保存 - 您无需自己保存。

$document_path = $request->document->path();   
$message->attach($document_path, array(
'as' => $request->document->getClientOriginalName(),
'mime' => $request->document->getMimeType())
);

最新更新