Sendgrid在Email-> getHeadersJson()中失败

问题描述 投票:3回答:1

我目前正面临生产中让我疯狂的局面。我正在使用PHP 7.1Laravel 5.5.26Sendgrid 4.0.4

失败的代码是:

 $this->email
            ->setFrom($from) // sender email
            ->setSubject(' ')
            ->setSmtpapiTos($recipients)
            ->setSubstitutions($params)
            ->setSections($sections)
            ->addCategory($category)
            ->addBcc($bcc)
            ->setText(' ')
            ->setHtml(' ')
            ->setFromName($name) // sender name
            ->setTemplateId($tempId); // id template email

 // send email
 $this->sendgrid->send($this->email);

我得到的当前错误如下:

count():参数必须是实现Countable的数组或对象

它来自于:

at HandleExceptions-> handleError(2,'count():参数必须是一个数组或实现Countable的对象','/ app / vendor / sendgrid / sendgrid / lib / SendGrid / Email.php',569,array() )在Email.php中的count(null)(第569行)

在Email-> getHeadersJson()在Email.php(第611行)

在SendGrid.php中的Email-> toWebFormat()(第109行)

在EmailController.php中的SendGrid-> send(object(Email))(第100行)

我将不胜感激任何帮助。

更新

我添加了 - > addHeader('key','value')(虚拟键值对),因此标题不是空的,它可以正常工作。

php laravel sendgrid
1个回答
2
投票

可能解决方案

我刚刚给电子邮件添加了带有虚拟键值对的addHeader(key,value),所以我尽量避免标题为空。

当我使用PHP 7.1而不是PHP 7.2时,仍然不明白为什么会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.