Laravel 7邮件在附加文件时显示html标签为纯文本.

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

我最近在将我的程序从Laravel 6升级到Laravel 7时遇到了麻烦, 我最后决定创建一个新的Laravel 7程序并手动导入我的Laravel 6代码. 所有的工作都很好, 除了这一件事, 我无法理解.

我用我的应用程序创建一个PDF文件并把它附加到邮件中. 邮件正文实际上是一个带有一些HTML代码的Blade模板。以前这样做很好,但现在,每当我附加一个PDF文件时,邮件正文就会将完整的HTML代码显示为纯文本。

这是我的邮件模型的构建功能。

    public function build()
{

    return $this->subject(trans('text.reminder_subject').' '.$this->invoice->invoice_number)
                ->replyTo('[email protected]', 'SebDev')
                ->attach(storage_path($this->invoice->invoice_number.'.pdf'))
                ->view('mails.reminder-mail')
                ->with([
                    'invoice' => $this->invoice,
                    'text' => $this->text
                ]);

}

这是我的刀片代码

<!doctype html>
  <head>
    <meta charset="utf-8">

    <title>Herinnering factuur {{ $invoice->invoice_number }}</title>

  </head>

  <body style='font-family:Segoe UI;'>

      <div style='width:75%;margin:auto;'>

          {!! nl2br($text) !!}

      </div>

</body>
</html>

如果我去掉这部分

->attach(storage_path($this->invoice->invoice_number.'.pdf'))

邮件可以正常显示,但显然没有附件。但是,如果添加这一行,附件会和邮件一起发送,但邮件正文中包含了纯文本的HTML代码。

请问有什么办法可以解决这个问题吗? 谢谢!

php laravel email attachment
1个回答
0
投票

更新: 我升级到了Laravel 7.6, 似乎解决了这个问题. 我还是不知道是哪里出了问题, 但问题不再出现了.

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