Не удается получить доступ к пустому свойству - Sendgrid
Попытка использовать API Sendgrid (работает на bluemix) для автоматической отправки электронных писем.
$sendgrid_username = 'XXXXXXXXX';
$sendgrid_password = 'XXXXXXXXXXXXXXX';
$to = $_SESSION['emailto'];
$from = "[email protected]";
$sendgrid = new SendGrid($sendgrid_username, $sendgrid_password, array("turn_off_ssl_verification" => true));
$email = new SendGrid\Email();
$email->addTo($to)->
setFrom($from)->
setSubject('Password Reset')->
setHtml("<b>A new password has been set for the user: %mailto%.<br> The new password is: %pass%<br><br></b>")->
addSubstitution("%mailto%", array($_SESSION['emailto']))->
addSubstitution("%pass%", array($random_pass_clear))->
addHeader('X-Sent-Using', 'SendGrid-API')->
addHeader('X-Transport', 'web')->
$response = $sendgrid->send($email); //this is line 21
Я использовал пример кода из Sendgrid, и все работает (отправляется электронное письмо). Однако я получаю 2 ошибки:
УВЕДОМЛЕНИЕ PHP: Неопределенный переменный ответ в строке 21
ФАТАЛЬНАЯ ОШИБКА PHP: Не удается получить доступ к пустому свойству в строке 21
Я никогда раньше не сталкивался со второй ошибкой, и я немного запутался в том, что происходит... есть идеи, куда я пошел неправильно?
1 answers
addHeader('X-Transport', 'web')->
этот избыток T_OBJECT_OPERATOR
(->
) на 20-й линии ваш плохой парень.
Он пытается использовать переменную $response
в объекте $email
в строке 21.
Игнорируя предыдущую цепочку, он, по сути, пытается сделать это:
$email->$response = $sendgrid->send($email);
Отправка выполнена, но не удается поместить результат метода в переменную $email->$response
( Невозможно получить доступ к пустому свойству ), потому что $email->$response
никогда не определяется (Неопределенная переменная)