laravel markdown电子邮件在收件箱中呈现hrml

Sha*_*ain 5 php markdown html-email laravel

最近我将 Laravel 升级到 6.13.0。升级之前,我的 Markdown 电子邮件模板设计得很好。升级后,我尝试以 Markdown 格式发送 Laravel Mail。但是当我用 MailDev 测试它时,它正在呈现 HTML 格式。

我的电子邮件模板看起来像。

@component('mail::message')
   @component('mail::panel')
      <div class="row">
        <div class="col-6 bg-gray">
            <span>Time</span>
        </div>
        <div class="col-6 bg-gray">
            <span class="badge">{{ date('jS F g:ia', strtotime($signal->signal_time)) }}</span>
        </div>
    </div>
   @endcomponent
@endcomponent
Run Code Online (Sandbox Code Playgroud)

那么它在 MailDev 中看起来像这样..

在此输入图像描述

我现在能做什么?

Sha*_*ain 11

我得到了这个问题的解决方案。最近 Laravel 已将 CommonMark 作为他们的 Markdown 模板。它不转换空间。这就是为什么我的电子邮件模板显示为 HTML 标记。现在,需要做什么来解决它。

我像这样从电子邮件模板文件中删除了所有空间。

@component('mail::message')
@component('mail::panel')
<div class="row">
<div class="col-6 bg-gray">
<span>Time</span>
</div>
<div class="col-6 bg-gray">
<span class="badge">{{ date('jS F g:ia', strtotime($signal->signal_time)) }}</span>
</div>
</div>
 @endcomponent
@endcomponent
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。我认为有人从这个答案中得到了帮助。


Pal*_*din 0

我遇到了同样的问题,就我而言,我已经通过在一行中用 @ 编写所有内容来修复它,例如:

文件:resources/views/vendor/notifications/email.blade.php

之前(不工作,linkduration在邮件中显示):

@lang('mail.welcome.linkduration', 
  ['linkduration' => $linkduration]
)
Run Code Online (Sandbox Code Playgroud)

(工作后)

@lang('mail.welcome.linkduration', ['linkduration' => $linkduration])
Run Code Online (Sandbox Code Playgroud)

我希望这个能帮上忙