Cakephp 调试级别为0的CakeEmail

Cakephp 调试级别为0的CakeEmail,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我正在尝试通过CakeEmail发送电子邮件,当调试级别为2时,一切正常,但一旦我将其切换到调试级别0,它就会停止工作,并且在访问页面时出现服务器错误。我查看了日志,得到的结果如下: PHP致命错误:对非对象调用成员函数subject() 这是我正在使用的代码: $email = new CakeEmail(); $email->template('forgot_password', 'default') ->emailFormat('html') ->view

我正在尝试通过CakeEmail发送电子邮件,当调试级别为2时,一切正常,但一旦我将其切换到调试级别0,它就会停止工作,并且在访问页面时出现服务器错误。我查看了日志,得到的结果如下:

PHP致命错误:对非对象调用成员函数subject()

这是我正在使用的代码:

$email = new CakeEmail();
$email->template('forgot_password', 'default')
    ->emailFormat('html')
    ->viewVars(array('password' => $password))
    ->from(array('my@email.com' => 'My Company'))
    ->to('my@email.com')
    ->subject('Your new password')
    ->send();
我以前使用过类似的代码,但不记得是否在调试级别为0的情况下尝试过


谢谢,

请确保控制器中有uses子句:

App::uses('CakeEmail', 'Network/Email');
此外,请确保您正在通过以下两种方式之一选择配置:

$email = new CakeEmail();
$email->config('default');

//or in constructor::
$email = new CakeEmail('default');

确保控制器中有uses子句:

App::uses('CakeEmail', 'Network/Email');
此外,请确保您正在通过以下两种方式之一选择配置:

$email = new CakeEmail();
$email->config('default');

//or in constructor::
$email = new CakeEmail('default');

在不链接
viewVars
emailFormat
的情况下尝试-手册没有明确说明这些方法是可链接的。只是一个建议,但是不要链接
viewVars
emailFormat
——手册没有明确说明这些方法是可链接的。不过,这只是一个建议