发送电子邮件时出现Laravel htmlSpecial alchars()错误 [英] Laravel htmlspecialchars() error when sending email
本文介绍了发送电子邮件时出现Laravel htmlSpecial alchars()错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试通过Laravel的SendGrid发送电子邮件。我一直在关注Sendgrid's Knowledge Base Article on Sending Email with Laravel
我已在.env
文件中设置了所有内容(尽管我还必须更新~/config/mail.php
中的MAIL_HOST
),并且我能够发送测试电子邮件(我在刀片中执行此操作)。
电子邮件模板本身的刀片与SendGrid的文档完全相同:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
</head>
<body>
<h2>Test Email</h2>
<p>{{$message}}</p>
</body>
</html>
我在单独的刀片中运行的代码(我这样做只是为了测试)是:
@php
use AppMailTestEmail;
$data = ['message' => 'Oh, hai!'];
Mail::to('john@doe.com')->send(new TestEmail($data));
@endphp
执行上述操作后,我得到以下错误:
htmlspecialchars() expects parameter 1 to be string, object given
(View: ~/resources/views/emails/test.blade.php)
如果我不在刀片中使用{{ message }}
,则一切正常。
谁能告诉我发生了什么事,以及如何修复它?这是我第一次使用Laravel,任何能为我指明正确方向的东西都可以。
推荐答案
$message
是Laravel 5.6以后的保留变量,表示IlluminateMailMessage
对象。
将刀片模板和PHP代码中的$message
替换为$content
或$msg
,一切都将正常工作!
这篇关于发送电子邮件时出现Laravel htmlSpecial alchars()错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文