Код статуса ответа SendGrid 0 нет дополнительной информации - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь отправить письмо с помощью SendGrid PHP API библиотеки . Это сработало, когда я попробовал вчера, но сегодня у ответа просто нет информации:

SendGrid\Response Object
(
    [statusCode:protected] => 0
    [body:protected] => 
    [headers:protected] => Array
        (
            [0] => 
        )
)

В методе \SendGrid\SendGrid()->send() используется следующий объект:

SendGrid\Mail\Mail Object
(
    [from:SendGrid\Mail\Mail:private] => SendGrid\Mail\From Object
        (
            [name:SendGrid\Mail\EmailAddress:private] => test1
            [email:SendGrid\Mail\EmailAddress:private] => test@example.com
            [substitutions:SendGrid\Mail\EmailAddress:private] => 
            [subject:SendGrid\Mail\EmailAddress:private] => 
        )

    [subject:SendGrid\Mail\Mail:private] => SendGrid\Mail\Subject Object
        (
            [subject:SendGrid\Mail\Subject:private] => this is a test
        )

    [contents:SendGrid\Mail\Mail:private] => Array
        (
            [0] => SendGrid\Mail\Content Object
                (
                    [type:SendGrid\Mail\Content:private] => text/html
                    [value:SendGrid\Mail\Content:private] =>
<h1>sending mails</h1>
                )

        )

    [attachments:SendGrid\Mail\Mail:private] => 
    [reply_to:SendGrid\Mail\Mail:private] => 
    [personalization:SendGrid\Mail\Mail:private] => Array
        (
            [0] => SendGrid\Mail\Personalization Object
                (
                    [tos:SendGrid\Mail\Personalization:private] => Array
                        (
                            [0] => SendGrid\Mail\To Object
                                (
                                    [name:SendGrid\Mail\EmailAddress:private] => mr test
                                    [email:SendGrid\Mail\EmailAddress:private] => testtest@example.com
                                    [substitutions:SendGrid\Mail\EmailAddress:private] => 
                                    [subject:SendGrid\Mail\EmailAddress:private] => 
                                )

                        )

                    [ccs:SendGrid\Mail\Personalization:private] => Array
                        (
                            [0] => SendGrid\Mail\Cc Object
                                (
                                    [name:SendGrid\Mail\EmailAddress:private] => 
                                    [email:SendGrid\Mail\EmailAddress:private] => testtest1@example.com
                                    [substitutions:SendGrid\Mail\EmailAddress:private] => 
                                    [subject:SendGrid\Mail\EmailAddress:private] => 
                                )

                        )

                    [bccs:SendGrid\Mail\Personalization:private] => 
                    [subject:SendGrid\Mail\Personalization:private] => 
                )
        )
)

Очевидно, я использовал правильные адреса в разделах tos и ccs. Что-то не так с отправленным объектом?

1 Ответ

0 голосов
/ 03 мая 2019

Помимо кода, если при отправке почты возникают какие-либо другие проблемы, библиотека send-grid хранит молчание, не выдавая никаких исключений, и просто возвращает ответ 0. Я бы посоветовал вам: перейдите по этой ссылке

  1. В php-http-client \ lib создайте папку Exception.
  2. Скопируйте lib / Exception / InvalidRequest.php в папку.
  3. Изменить lib / Client.php

Эти модификации предназначены для создания соответствующих исключений, которые помогут вам определить, в чем может заключаться проблема в вашем случае, и смогут продолжить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...