После нескольких часов исследований мне нужна была помощь.
Я хотел бы использовать API SendGrid для отправки электронной почты с помощью PHP с помощью PHP SDK, найденного здесь https://github.com/sendgrid/sendgrid-php.
Собственно, код у меня следующий:
требуется ("sendgrid / sendgrid-php.php");
$email = new \SendGrid\Mail\Mail();
$email->setFrom("[email protected]", "Example User");
$email->setSubject("Sending with Twilio SendGrid is Fun");
$email->addTo("[email protected]", "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('SENDGRID_API_KEY'));
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";
У меня также есть ключ API в необходимом .env
файле. Я просто назвал его .env
. Я не знаю, правильно ли это на данный момент.
Содержимое этого файла следующее:
export SENDGRID_API_KEY='SG.xxxxxxxxxxxx'
Когда я тестирую страницу, у меня возникает следующая ошибка:
401 Array ( [0] => HTTP/1.1 401 Unauthorized [1] => Server: nginx [2] => Date: Tue, 03 Sep 2019 23:44:21 GMT [3] => Content-Type: application/json [4] => Content-Length: 88 [5] => Connection: keep-alive [6] => Access-Control-Allow-Origin: https://sendgrid.api-docs.io [7] => Access-Control-Allow-Methods: POST [8] => Access-Control-Allow-Headers: Authorization, Content-Type, On-behalf-of, x-sg-elas-acl [9] => Access-Control-Max-Age: 600 [10] => X-No-CORS-Reason: https://sendgrid.com/docs/Classroom/Basics/API/cors.html [11] => [12] => ) {"errors":[{"message":"Permission denied, wrong credentials","field":null,"help":null}]}
Что я делаю не так, пожалуйста?
Я красил документацию, но не могу найти причину ошибки.
Большое спасибо за любую помощь.
Laravel
? вы устанавливали пакетыvulcas/dotenv
иsendgrid-php
с помощью composer? - person Salim Djerbouh   schedule 04.09.2019