我正在重做一个集成了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"}
还尝试使用数组
X-SMTPAPI:{&#34; category&#34;:[&#34; Otros&#34;]}
类别的名称与已在SendGrid上跟踪的名称完全相同,但是当我查看SendGrid活动日志时,会发送电子邮件,但不会设置类别。
有什么想法吗?
答案 0 :(得分:2)
类别需要是一个数组。尝试:{"category":["Otros"]}
答案 1 :(得分:1)
好吧,在测试了我想到的所有内容,并在@bwest建议的情况下搞乱了编码后,更改我的.env文件中的驱动程序解决了它。
我不知道从哪里得到它,但我的驱动程序设置为
MAIL_DRIVER=sendgrid
它正在发送邮件,所以我没有注意它,我把它改成了
MAIL_DRIVER=smtp
现在我的类别设置正确。