Как правильно отправить письмо с sendgrid через php - PullRequest
0 голосов
/ 14 мая 2019

У меня есть приведенный ниже код от sendgrid для отправки электронного письма с моим API-ключом, но я не могу заставить его работать, так как он отображает

error Неустранимая ошибка: Uncaught Error: Call toфункция-член send () для строки в ...

При необходимости я установил composer

Кажется, однако, $sendgrid->send($email) на самом деле ничего не возвращает, поэтому $mail - это пустая переменнаяЛюбая идея о том, как решить эту проблему.

Api ссылка источник .

<?php

// https://sendgrid.com/docs/API_Reference/index.html

// using SendGrid's PHP Library
// https://github.com/sendgrid/sendgrid-php
require 'vendor/autoload.php'; // If you're using Composer (recommended)
// Comment out the above line if not using Composer
// require("./sendgrid-php.php");
// If not using Composer, uncomment the above line

$email = new \SendGrid\Mail\Mail();
$email->setFrom("test@example.com", "Example User");
$email->setSubject("Sending with SendGrid is Fun");
$email->addTo("test@example.com", "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>"
);
//$sendgrid = new \SendGrid(getenv('my api goes here'));
$sendgrid = 'my api goes here';
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";
}

1 Ответ

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

Вы пытаетесь вызвать функцию для строки.

$sendgrid = 'my api goes here';

И позже:

$response = $sendgrid->send($email);

Что, я думаю, вы имели в виду:

$response = $email->send($email);
...