将MandrillTransport CakePHP更新为2.4兼容
我试图在我的应用程序中使用插件MandrillTransport CakePHP(),但在发送消息时收到错误 我的发送代码:将MandrillTransport CakePHP更新为2.4兼容,php,cakephp,mandrill,Php,Cakephp,Mandrill,我试图在我的应用程序中使用插件MandrillTransport CakePHP(),但在发送消息时收到错误 我的发送代码: $Email = new CakeEmail('mandrill'); $Email->viewVars(array( 'fname' => $this->User->field('fname'), )); $Email->template('welcome') ->from(array('sup
$Email = new CakeEmail('mandrill');
$Email->viewVars(array(
'fname' => $this->User->field('fname'),
));
$Email->template('welcome')
->from(array('support@domain.com' => 'MySite'))
->sender(array('support@domain.com' => 'MySite'))
->to($this->User->field('email'))
->subject('Welcome to MySite, ' . $this->User->field('fname'))
->send());
发送邮件时,我会收到以下错误:
注意(8):未定义的属性:CakeEmail::$template[APP/Lib/Network/Email/MandrillTransport.php,第97行]
注意(8):未定义的属性:CakeEmail::$viewVars[APP/Lib/Network/Email/MandrillTransport.php,第105行]
我尝试将行更改为$this->\u cakeEmail->\u模板,但在访问受保护变量时出现错误
对于CakeEmail在2.0和2.4之间的变化有更多经验的人能提供帮助吗
谢谢您必须使用相应的方法,即
template()
和viewVars()
viewVars()
只返回\u viewVars
属性的值,而template()
返回一个数组,您必须使用template()['template']
来获取\u template
属性的值。我知道这是一个老问题,但对于未来的搜索者(像我一样)您可能会考虑另一种插件,它看起来更加活跃:
我还没有使用过这两个模板,但它们看起来基本上做了相同的事情。原来的插件使用的是mandrill模板,而不是CakeEmail模板,所以我删除了这些部分。我现在需要访问的是CakeEmail->[\u textMessage:protected],但我无法通过“无法访问受保护的属性CakeEmail::$\u textMessage”我知道了;我需要调用CakeEmail->message()。谢谢