SendGrid выдает фатальную ошибку

Я поместил код в соответствии с документацией, единственное, что я сделал, это добавил шаблон. Кто-нибудь может увидеть, что не так?

    <?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
date_default_timezone_set('EST');
# Include the API
require 'vendor/autoload.php';
require 'lib/SendGrid.php';
require 'html2text.php';
# Instantiate the client.
$sendgrid = new SendGrid('...', '...', array("turn_off_ssl_verification" => true));
$html = $_POST["message"];
$text = convert_html_to_text($html);
$date = date('l, F jS ');
# Make the call to the client.
$email = new SendGrid\Email();
$email
->addTo('...')
# ->addTo('...') uncomment on final script
->setFrom('...')
->setSubject('New reminder for ' . $date)
->setText($text)
->setHtml($html)
->addFilter("templates", "enabled", 1)
->addFilter("templates", "template_id", "a874a34a-a9b7-460b-a5ae-7226e68da0f1")
;
print '<h1>Sent successfully</h1>';
?>

Результат:

Fatal error: Class 'SendGrid\Email' not found in /home/[...]/public_html/[...]/sendgrid.php on line 29

0

Решение

Похоже, SendGrid\Email класс не загружается должным образом. Чтобы исправить это вручную, вы можете добавить require 'lib/SendGrid/Email.php';,

1

Другие решения

Если вы не используете Composer, просто скачайте и установите последний упакованный выпуск библиотеки в виде zip-архива.

Затем требуется библиотека из пакета:

require("path/to/sendgrid-php/sendgrid-php.php");

0

Убедитесь, что у вас php 5.8 ИЛИ 7.0. У меня была та же проблема, сделал следующее, чтобы заставить его работать:

  1. Обновлен composer.json
{
"require": {
"sendgrid/sendgrid": "~5.1"}
}
  1. обновление php composer.phar

  2. php composer.phar установить

Удачи.

0
По вопросам рекламы [email protected]