首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakeEmail与ajax方法的结合

CakeEmail与ajax方法的结合
EN

Stack Overflow用户
提问于 2013-05-12 19:12:30
回答 1查看 209关注 0票数 0

我试图用ajax方法用CakeEmail发送一封简单的电子邮件。我假设ajax调用是问题所在,如果我在其中有电子邮件功能,就会返回一个400错误的请求。否则效果很好。在ajax控制器方法中使用CakeEmail是否需要做一些特殊的配置?还是这是不可能的?

只是试着运行一个标准的CakeEmail,没有什么不寻常的:

代码语言:javascript
复制
$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中的一种配置:

代码语言:javascript
复制
    public $ses = array(
    'host' => 'ssl://email-smtp.us-east-1.amazonaws.com',
    'port' => 25,
    'username' => '****',
    'password' => '****',
    'transport' => 'Smtp',
    'tls' => true
);

我在其他领域( ajax请求之外)在常规形式的帖子中使用了这个方法,而且它运行得很好。

UPDATE检查了Apache日志(谢谢Borislav),它说:

代码语言:javascript
复制
PHP Fatal error:  Call to a member function viewVars() on a non-object in...

因此,在Ajax请求中,没有CakeEmail正在使用的CakeEmail:

代码语言:javascript
复制
->viewVars(array('user' => $user))
EN

回答 1

Stack Overflow用户

发布于 2013-05-13 15:25:34

移除

代码语言:javascript
复制
->theme($this->theme) 

修好了。主题变量在ajax布局中不可用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16511076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档