Laravel 8.83使用BeautyMail发邮件时HTML内容被转义求助
解决Laravel 8.83中BeautyMail发送邮件时HTML标签被转义的问题
针对你遇到的$pasted_content里的HTML标签被转成实体的问题,可按以下方式排查解决:
检查内容传递前的处理逻辑
确认在将$pasted_content传递到blade模板之前,没有被提前转义。比如控制器或业务逻辑中是否调用了e()、htmlspecialchars()这类转义函数,若有则移除,确保传递的是原始HTML内容。直接反转义输出
如果$pasted_content已经被转成HTML实体,可以在blade模板中用html_entity_decode()还原后输出:@if ($pasted_content) {!! html_entity_decode($pasted_content) !!} @else <a href="{{ $temporary_url }}">{{ $temporary_url }}</a> (This link is valid for 7 days) @endif排查BeautyMail的渲染逻辑
检查邮件类的build方法,确保传递给模板的变量没有被BeautyMail额外转义。示例:public function build() { return $this->beautymail() ->send('emails.your-template', [ 'pasted_content' => $this->pasted_content, // 确保此处为未转义的原始HTML 'temporary_url' => $this->temporary_url ]); }
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

