无法访问空 属性 - Sendgrid

Cannot access empty property - Sendgrid

尝试使用 Sendgrid 的 API(在 bluemix 上 运行)发送自动电子邮件。

$sendgrid_username = 'XXXXXXXXX';
$sendgrid_password = 'XXXXXXXXXXXXXXX';
$to                = $_SESSION['emailto'];
$from              = "XXXXXXXXXXX@XXXX.com";
$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 NOTICE: Undefined Variable response on line 21
PHP FATAL ERROR: Cannot access empty property on line 21

我以前从未遇到过第二个错误,我对发生了什么感到有点困惑...知道我哪里出错了吗?

addHeader('X-Transport', 'web')-> 第 20 行这个多余的 T_OBJECT_OPERATOR (->) 是你的坏人。

它尝试在第 21 行的 $email 对象中使用 $response 变量。

忽略之前的链接,它实际上是在尝试这样做:

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

发送完成,但未能将方法结果放入$email->$response变量中(无法访问空属性)因为$email->$response 从未定义(未定义变量