未设置 SendGrid 类别

SendGrid category not being set

我正在重做一个为邮件集成了 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);
    });
}

我有一个记录我的 headers 的侦听器,它们看起来像:

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: {"category":["Otros"]}

类别的名称与已在 SendGrid 上跟踪的类别名称完全相同,但是当我查看 SendGrid activity 日志时,电子邮件已发送,但未设置类别。

有什么想法吗?

类别必须是一个数组。尝试:{"category":["Otros"]}

好吧,在测试了我想到的所有内容并按照@bwest 的建议弄乱了编码之后,更改我的 .env 文件上的驱动程序解决了它。

我不知道从哪里得到它,但我的驱动程序设置为

MAIL_DRIVER=sendgrid

而且是正确的发邮件,所以没注意,改成了

MAIL_DRIVER=smtp

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