CakePHP 2.0发送电子邮件错误

时间:2012-03-03 23:49:09

标签: email cakephp-2.0

我在CakePHP 2.0中使用SignMeUp插件进行用户注册(其主页似乎已关闭)。 在大多数情况下,一切都运行得很好,除非我在函数使用$ this-> Email-> send()时出现以下看似无关的错误:

  

尝试获取非对象的属性   [CORE \ Cake \ View \ Helper \ PaginatorHelper.php,第111行]

该行是:

public function beforeRender($viewFile) {
        $this->options['url'] = array_merge($this->request->params['pass'],
$this->request->params['named']);

不确定这实际上与电子邮件有何关联,所以我不知道可能导致此错误的原因,因为实际发送电子邮件没问题。

插件中的示例函数是:

protected function __sendActivationEmail($userData) {
    $this->__setUpEmailParams($userData);
    $this->__parseEmailSubject('activation', $userData);
    if ($this->__setTemplate(Configure::read('SignMeUp.activation_template'))) {
        if ($this->Email->send()) {
            return true;
        }
    }
}

我个人认为这没有任何问题......不确定还有什么可能导致此错误。如果你有人有任何想法,那真的很感激!

BTW:如果我将debug设置为0,那么在执行该函数后会得到一个空白页而不是正确的重定向,因此这不是一个解决方案。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,因为我将paginator包含为帮助器: public $ helpers = array('Time','Paginator'); 在CakePHP 2.0中,总是包含Paginator,如果在控制器中包含帮助程序,则由于某种原因似乎与sendMail存在冲突。因此,如果从帮助程序列表中删除Paginator,它应该可以正常工作。