繁体   English   中英

将CakeEmail与Ajax方法一起使用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM