发送电子邮件时出现Laravel htmlSpecial alchars()错误 [英] Laravel htmlspecialchars() error when sending email

查看:15
本文介绍了发送电子邮件时出现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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆