我目前在生产环境中遇到了一个让我抓狂的情况。我使用的是PHP 7.1
、Laravel 5.5.26
和Sendgrid 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接口的对象
它来自于以下代码:
在 Email.php (第569行),count(null)
Email.php (第611行) 中的 Email->getHeadersJson()
SendGrid.php (第109行) 中的 Email->toWebFormat()
EmailController.php (第100行) 中的 SendGrid->send(object(Email))
我需要帮助,谢谢。
更新:
我添加了 ->addHeader('key', 'value')(虚拟键值对),这样头部就不会为空并且可以正常工作。