Laravel Dompdf 附件即将到来 无法 JSON 编码负载。错误代码:5
Laravel Dompdf attachment coming Unable to JSON encode payload. Error code: 5
我在 Mail/Mails.php 文件构建函数中编写了以下代码。
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attachData($this->attach,'file_pdf.pdf');
错误
Unable to JSON encode payload. Error code: 5
我使用带附件的 Dompdf 电子邮件发送。
我不确定您使用的 Laravel 是哪个版本,所以它可能会略有不同,但您需要使用 attach
函数而不是 attachData
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attach('[PATH TO FILE]');
在此处查看更多内容:Laravel Mail Docs
更改顶部的版本。
您可以在不使用函数将文件保存到磁盘的情况下执行此操作
->attachData($this->attach,'file_pdf.pdf')
。抛出错误是因为 php 不知道如何将二进制 pdf 文件数据序列化为 json。您需要做的是在您的邮件文件句柄函数中生成数据 $this->attach
,而不是在构造函数中。这样 php 就不必序列化它了:
```
public function handle() {
$pdf = PDF::loadView('pdf_view', $data);
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attachData($pdf->output(),'file_pdf.pdf');
}```
我在 Mail/Mails.php 文件构建函数中编写了以下代码。
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attachData($this->attach,'file_pdf.pdf');
错误
Unable to JSON encode payload. Error code: 5
我使用带附件的 Dompdf 电子邮件发送。
我不确定您使用的 Laravel 是哪个版本,所以它可能会略有不同,但您需要使用 attach
函数而不是 attachData
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attach('[PATH TO FILE]');
在此处查看更多内容:Laravel Mail Docs
更改顶部的版本。
您可以在不使用函数将文件保存到磁盘的情况下执行此操作
->attachData($this->attach,'file_pdf.pdf')
。抛出错误是因为 php 不知道如何将二进制 pdf 文件数据序列化为 json。您需要做的是在您的邮件文件句柄函数中生成数据 $this->attach
,而不是在构造函数中。这样 php 就不必序列化它了:
```
public function handle() {
$pdf = PDF::loadView('pdf_view', $data);
return $this->from(config('app.FROM_EMAIL'),config('app.MAIL_FROM_NAME'))
->subject($this->subject)
->view('emails.generalmail')
->attachData($pdf->output(),'file_pdf.pdf');
}```