2012-03-05 70 views
0

我试图通过CakeEmail发送一封电子邮件,它的所有工作时调试级别为2,但只要我切换到调试级别0它停止工作,我得到一个服务器错误时访问该页面。我查了日志,这是我得到:CakeEmail与调试级别为0

PHP Fatal error: Call to a member function subject() on a non-object

这是我使用的代码:

$email = new CakeEmail(); 
$email->template('forgot_password', 'default') 
    ->emailFormat('html') 
    ->viewVars(array('password' => $password)) 
    ->from(array('[email protected]' => 'My Company')) 
    ->to('[email protected]') 
    ->subject('Your new password') 
    ->send(); 

我曾经使用过类似的代码,但不记得如果我用0.1

感谢的调试级别,

+0

尝试没有链接'viewVars'和'emailFormat' - 手册没有明确* *说这些方法是可链接的。只是一个建议,但是 – Ross 2012-03-05 21:37:14

回答

5

请尝试它确保您有在控制器的使用条款:

App::uses('CakeEmail', 'Network/Email'); 

此外,请确定您在以下两种方法之一选择的配置:

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

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