【发布时间】:2017-12-20 10:08:43
【问题描述】:
我目前正面临着一种让我发疯的生产情况。我正在使用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():参数必须是数组或者实现的对象 可数的
它来自这个:
在 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 行)
在 SendGrid->send(object(Email))in EmailController.php(第 100 行)
我将不胜感激。
更新
我添加了 ->addHeader('key', 'value') (虚拟键值对),因此标题不为空并且可以正常工作。
【问题讨论】: