【问题标题】:Sendgrid fails in Email->getHeadersJson()Sendgrid 在 Email->getHeadersJson() 中失败
【发布时间】:2017-12-20 10:08:43
【问题描述】:

我目前正面临着一种让我发疯的生产情况。我正在使用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():参数必须是数组或者实现的对象 可数的

它来自这个:

在 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') (虚拟键值对),因此标题不为空并且可以正常工作。

【问题讨论】:

    标签: php laravel sendgrid


    【解决方案1】:

    可能的解决方案

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 1970-01-01
      • 2019-10-18
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多