[英]Call to undefined method App::uses() - cakephp - CakeEmail
[英]Using CakeEmail with ajax method
我正在尝试通过ajax方法使用CakeEmail发送简单的电子邮件。 我认为ajax调用是问题所在,如果我具有电子邮件功能,它将返回一个400错误的请求。 否则,它将正常工作。 我需要做一些特殊的配置才能在ajax控制器方法中使用CakeEmail吗? 还是这不可能?
只是尝试运行标准的CakeEmail,没有什么与众不同的:
$email = new CakeEmail();
$email->config = $this->ses;
$email->from('contact@mydomain.com',Configure::read('Site.title'))
->to($user['User']['email'])
->subject(__d('croogo', '[%s] Discount Approved', Configure::read('Site.title')))
->template('Users.apply_approve')
->theme($this->theme)
->viewVars(array('user' => $user))
->send();
ses是AppController中的配置:
public $ses = array(
'host' => 'ssl://email-smtp.us-east-1.amazonaws.com',
'port' => 25,
'username' => '****',
'password' => '****',
'transport' => 'Smtp',
'tls' => true
);
我在其他区域(ajax请求之外)的常规表单帖子中使用了它,并且工作正常。
UPDATE检查了Apache日志(感谢Borislav),并说:
PHP Fatal error: Call to a member function viewVars() on a non-object in...
因此,对于Ajax请求似乎没有CakeEmail使用的viewVars:
->viewVars(array('user' => $user))
拆下
->theme($this->theme)
修复。 主题变量在ajax布局中不可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.