无法访问空属性 - Sendgrid

Fre*_*cre 2 php sendgrid ibm-cloud

尝试使用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
Run Code Online (Sandbox Code Playgroud)

我使用了Sendgrid的示例代码,一切正常(我发送的电子邮件).但我得到2个错误:

PHP注意:第21行的未定义变量响应
PHP致命错误:无法访问第21行的空属性

我以前从未遇到过第二个错误,我对于发生了什么感到困惑......任何想法都出错了?

Tim*_*tje 5

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

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

忽略以前的链接,它本质上是试图这样做:

$email->$response = $sendgrid->send($email);
Run Code Online (Sandbox Code Playgroud)

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