Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未设置SendGrid类别_Php_Laravel_Sendgrid_Swiftmailer - Fatal编程技术网

Php 未设置SendGrid类别

Php 未设置SendGrid类别,php,laravel,sendgrid,swiftmailer,Php,Laravel,Sendgrid,Swiftmailer,我正在重做一个项目,该项目集成了SendGrid用于邮寄 我使用的是Laravel和Mailable类,我创建了一个函数来设置SendGrid类别: public function setSendgridCategory($category){ $encodedCategory = json_encode(['category' => $category]); $this->withSwiftMessage(function (\Swift_Message $mess

我正在重做一个项目,该项目集成了SendGrid用于邮寄

我使用的是Laravel和Mailable类,我创建了一个函数来设置SendGrid类别:

public function setSendgridCategory($category){
    $encodedCategory = json_encode(['category' => $category]);
    $this->withSwiftMessage(function (\Swift_Message $message) use ($encodedCategory){
        $message->getHeaders()->addTextHeader('X-SMTPAPI', $encodedCategory);
    });
}
我有一个监听器记录我的标题,它们看起来像:

Date: Wed, 18 Jan 2017 13:47:32 +0100
Subject: XXXXXXXXX.
From: xXXXXXx <system@xxXXxXXXXXX.com>
To: XXXXxxx <XxXXX@xxXXXxXXX.com>
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SMTPAPI: {"category":"Otros"}
日期:2017年1月18日星期三13:47:32+0100
主题:XXXXXXXX。
发件人:xXXXXXx
收件人:XXXXxxx
MIME版本:1.0
内容类型:text/html;字符集=utf-8
内容传输编码:引用可打印
X-SMTPAPI:{“类别”:“Otros”}
还尝试使用数组

X-SMTPAPI:{“类别”:[“Otros”]}

类别的名称与SendGrid上已跟踪的名称完全相同,但当我查看SendGrid活动日志时,会发送电子邮件,但未设置任何类别


有什么想法吗?

类别需要是一个数组。试试看:
{“category”:[“Otros”]}

好吧,在测试了我想到的所有东西,并按照@bwest的建议修改了编码之后,更改.env文件上的驱动程序就解决了这个问题

我不知道是从哪里弄来的,但我把我的司机设定为

MAIL_DRIVER=sendgrid
而且它发送的邮件是正确的,所以我没有注意它,我把它改成了

MAIL_DRIVER=smtp

现在,我的类别设置正确。

Sendgrid配置已在邮件驱动程序下正确设置,对吗?邮件正在发送,唯一的问题是类别,是吗?是的,邮件正在发送,html被完美解析,只是类别。嗯。。。传递给
setSendgridCategory
的字符串是什么字符集和编码?类别必须为7位/US-ASCII。尝试强制编码和字符集。字符串是ASCII,我尝试将标题内容传输编码修改为7位/US-ASCII,但没有成功