Laravel mPDF 邮件附件错误“Illuminate\Mail\Attachment::fromData(): 参数 #1 ($data) 必须是闭包类型,给定字符串”

问题描述 投票:0回答:1

嗨,我正在尝试创建一个功能来发送电子邮件并使用依赖项

laravel mPDF
附加 .pdf

文件

发生错误的我的邮件对象是在

attachments()
函数中:

class TIPoliciesMail extends Mailable
{
  // ...
  public function attachments(): array
  {
     $pdf = pdf::loadView('pdf.basics.ti-policies-pdf');
      return [
         Attachment::fromData($pdf->output(), 'doc.pdf')->withMime('application/pdf')
      ];
  }
  // ...
}

这是错误信息 错误图像消息

我想知道什么是

Closure
类型,因为错误告诉我,那是因为给出了
string
而不是
Closure
,我不知道错误是否发生在函数
$pdf->output()

laravel mpdf laravel-mail
1个回答
0
投票

默认情况下

output()
将返回内联pdf内容,因此您应该从pdf输出中返回字符串,例如

$pdf->Output('', 'S');

在你的代码中应该是

Attachment::fromData($pdf->output('', 'S'), 'doc.pdf')->withMime('application/pdf')

参考在 MPDF 中通过电子邮件发送 pdf 的示例 https://mpdf.github.io/real-life-examples/e-mail-a-pdf-file.html

© www.soinside.com 2019 - 2024. All rights reserved.