Laravel发送邮件时Blade模板显示变量名而非实际值问题
问题排查步骤
- 检查视图文件后缀
优先确认resources/views/emails目录下的ticketAssignedOpen文件后缀是否为.blade.php,如果文件名为ticketAssignedOpen.php,Laravel不会解析Blade的{{}}语法,会直接输出变量标识原样。你可以对比正常工作的new_ticket_mail视图的后缀,保持一致即可。
- 检查视图文件后缀
- 修复视图HTML语法错误
你当前的ticketAssignedOpen视图存在标签错误:
修正为:<!-- 错误代码,开头多了闭合的p标签 --> <br> </p>Our Agent {{$details['agent_name'][0]}} is currently working on your request. We will get back to you as soon as possible.</p>
同时补全视图末尾缺失的<br> <p>Our Agent {{$details['agent_name'][0]}} is currently working on your request. We will get back to you as soon as possible.</p></body>和</html>闭合标签,避免邮件渲染异常。- 修复视图HTML语法错误
- 清除视图缓存
如果确认后缀无误,执行以下命令清除Laravel视图缓存即可:
php artisan view:clear- 清除视图缓存
- 校验视图路径拼写
确认OpenAssignTicket类中view('emails.ticketAssignedOpen')的文件名和实际视图文件名完全一致,注意Linux环境下文件名大小写敏感,拼写错误会导致加载到错误的空白文件或者旧文件。
- 校验视图路径拼写
内容的提问来源于stack exchange,提问作者ander99
相关产品推荐
相关产品推荐

