Код статуса ответа SendGrid 0, дополнительной информации нет

#sendgrid #php-7.2 #sendgrid-api-v3

#sendgrid #php-7.2 #sendgrid-api-v3

Вопрос:

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

 SendGridResponse Object
(
    [statusCode:protected] => 0
    [body:protected] => 
    [headers:protected] => Array
        (
            [0] => 
        )
)
  

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

 SendGridMailMail Object
(
    [from:SendGridMailMail:private] => SendGridMailFrom Object
        (
            [name:SendGridMailEmailAddress:private] => test1
            [email:SendGridMailEmailAddress:private] => test@example.com
            [substitutions:SendGridMailEmailAddress:private] => 
            [subject:SendGridMailEmailAddress:private] => 
        )

    [subject:SendGridMailMail:private] => SendGridMailSubject Object
        (
            [subject:SendGridMailSubject:private] => this is a test
        )

    [contents:SendGridMailMail:private] => Array
        (
            [0] => SendGridMailContent Object
                (
                    [type:SendGridMailContent:private] => text/html
                    [value:SendGridMailContent:private] =>
<h1>sending mails</h1>
                )

        )

    [attachments:SendGridMailMail:private] => 
    [reply_to:SendGridMailMail:private] => 
    [personalization:SendGridMailMail:private] => Array
        (
            [0] => SendGridMailPersonalization Object
                (
                    [tos:SendGridMailPersonalization:private] => Array
                        (
                            [0] => SendGridMailTo Object
                                (
                                    [name:SendGridMailEmailAddress:private] => mr test
                                    [email:SendGridMailEmailAddress:private] => testtest@example.com
                                    [substitutions:SendGridMailEmailAddress:private] => 
                                    [subject:SendGridMailEmailAddress:private] => 
                                )

                        )

                    [ccs:SendGridMailPersonalization:private] => Array
                        (
                            [0] => SendGridMailCc Object
                                (
                                    [name:SendGridMailEmailAddress:private] => 
                                    [email:SendGridMailEmailAddress:private] => testtest1@example.com
                                    [substitutions:SendGridMailEmailAddress:private] => 
                                    [subject:SendGridMailEmailAddress:private] => 
                                )

                        )

                    [bccs:SendGridMailPersonalization:private] => 
                    [subject:SendGridMailPersonalization:private] => 
                )
        )
)
  

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

Ответ №1:

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

  1. В php-http-clientlib создайте исключение папки.
  2. Копировать lib/Exception/InvalidRequest.php в папку.
  3. Изменить lib/Client.php

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