You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Laravel Mailable渲染为变量并获取其HTML内容?

获取Laravel Mailable的HTML内容

嘿,我之前也碰到过一模一样的需求!其实Laravel的Mailable类已经内置了专门的方法来获取渲染后的HTML内容——就是render()方法,完全不用自己手动折腾视图渲染的逻辑~

针对你的场景,直接这么写就能实现需求:

$mail->html = (new InactivityReminder())->render();

为什么这个方法能生效?

  • 调用render()时,会自动触发Mailable里的build()方法,处理你定义的markdown视图;
  • 它会把markdown模板转换成完整的HTML,包括Laravel邮件默认的布局样式,和实际发送时的邮件内容完全一致;
  • 如果你的Mailable需要接收参数(比如用户信息),只需要正常在构造函数里传递,再调用render()就好,比如:
    $mail->html = (new InactivityReminder($user))->render();
    

之前我也找过类似toHtml()的方法,后来才发现Laravel已经把这个功能封装在render()里了,用起来特别顺手!

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:05:48