@saplas

Sendgrid php api почему ошибка?

Пытаюсь настроить отправку писем через sendgrid. Взял пример с их док, при отправки 500 ошибка всегда
Мой код:
<?php
// Uncomment next line if you're not using a dependency loader (such as Composer)
require_once 'lib/sendgrid/sendgrid-php.php';

use SendGrid\Mail\Mail;

$email = new Mail();
$email->setFrom("from@mail.ru", "Example User");
$email->setSubject("Sending with Twilio SendGrid is Fun");
$email->addTo("to@mail.ru", "Example User");
$email->addContent("text/plain", "and easy to do anywhere, even with PHP");
$email->addContent(
    "text/html", "<strong>and easy to do anywhere, even with PHP</strong>"
);
$apikey = 'АПИ_КЛЮЧ';
$sendgrid = new \SendGrid($apikey);
try {
    $response = $sendgrid->send($email);
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $e) {
    echo 'Caught exception: '.  $e->getMessage(). "\n";
}

в чем может быть ошибка?
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
artem90
@artem90
TeamLead, Developer
Без логов сложно что-то сказать. Да и Вам логи сразу смогут дать ответ.

1. Выведите ошибки. Самый банальный способ воткнуть в начале скрипта
error_reporting(E_ALL);
ini_set('display_errors', '1');
restore_error_handler();


Таким образом на экран выпадут ошибки выполнения. И от них можно строить предположения дальше.

2. Можно воспользоваться библиотекой whoops https://github.com/filp/whoops
Она так же покажет ошибки на экране, но уже в красивом виде. К тому же там будет трейс, что откуда и где вызывалось. Это все поможет лучше найти причину

3. Самый бронебойный способ - поставить xdebug и пошагово пройтись по каждой строке. При использовании в phpstorm будет отличный интерфейс с интерактивным трейсом, возможностью провалиться в глубь кода библиотек, а так же интерактивно проверить состояние переменных и вызывать методы и функции.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы