CakeMail不能识别和查看功能 [英] CakeMail doesn't recognize to and viewvars functions

查看:170
本文介绍了CakeMail不能识别和查看功能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  App :: uses('CakeEmail','Network / Email'); 
class UsersController extends AppController {
function sign_up(){
$ this-> autoRender = false;
$ email = new CakeEmail('default');

$ email-> template('sign_up');
$ email-> emailFormat('html');
$ email-> subject('Addience.com注册');
$ email-> to($ this-> request-> query ['email']);
$ email-> viewVars(array('password'=> $ this-> Password-> generatePassword(),'email'=> $ this-> request-> query ['电子邮件'],'key'=> $ this-> Password-> generateKey()));
$ email-> send();
$ this-> redirect('/');
}

}

和我的email.php配置文件看起来像:

  class EmailConfig {

public $ default = array(
'host '=>'ssl://smtp.gmail.com',
'port'=> 465,
'username'=>'xxx@gmail.com',
'password'=>'xxx',
'from'=> array(support@xxx.com'=>'xxx'),
'transport'=>'Smtp'
);
}

然而,我仍然得到:

 注意(8):未定义的索引:电子邮件[APP\Controller\UsersController.php,第311行] 

注意(8):未定义的索引:电子邮件[APP\Controller\UsersController.php,第312行]
您需要指定一个目的地,cc或bcc。

错误:发生内部错误。
堆栈跟踪

#0 C:\xampp\htdocs\addience\Controller\UsersController.php(314):CakeEmail-> send()
#1 [internal function]:UsersController-> sign_up()
#2 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Controller\Controller.php 473):ReflectionMethod-> invokeArgs(Object(UsersController),Array)
#3 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Routing\Dispatcher。 php(104):Controller-> invokeAction(Object(CakeRequest))
#4 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Routing\Dispatcher。 php(86):Dispatcher-> _invoke(Object(UsersController),Object(CakeRequest),Object(CakeResponse))
#5 C:\xampp\htdocs\addience\webroot\index。 php(98):Dispatcher-> dispatch(Object(CakeRequest),Object(CakeResponse))
#6 {main}

为什么?



谢谢!

决方案

简单

  $ this-> request-> query ['email'] 

为空:)



谢谢无论如何。


In my user controller I added:

App::uses('CakeEmail', 'Network/Email');
class UsersController extends AppController { 
      function sign_up() {
        $this->autoRender = false;
        $email = new CakeEmail('default');

        $email->template('sign_up');
        $email->emailFormat('html');
        $email->subject('Addience.com Sign Up');
        $email->to($this->request->query['email']);
        $email->viewVars(array('password' => $this->Password->generatePassword(), 'email' => $this->request->query['email'], 'key' => $this->Password->generateKey()));
        $email->send();
        $this->redirect('/');
    }

}

and my email.php config file looks like:

class EmailConfig {

    public $default = array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => 465,
        'username' => 'xxx@gmail.com',
        'password' => 'xxx',
        'from' => array('support@xxx.com' => 'xxx'),
        'transport' => 'Smtp'
    );
}

However, I still getting:

Notice (8): Undefined index: email [APP\Controller\UsersController.php, line 311]

Notice (8): Undefined index: email [APP\Controller\UsersController.php, line 312]
You need specify one destination on to, cc or bcc.

Error: An Internal Error Has Occurred.
Stack Trace

#0 C:\xampp\htdocs\addience\Controller\UsersController.php(314): CakeEmail->send()
#1 [internal function]: UsersController->sign_up()
#2 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Controller\Controller.php(473): ReflectionMethod->invokeArgs(Object(UsersController), Array)
#3 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Routing\Dispatcher.php(104): Controller->invokeAction(Object(CakeRequest))
#4 C:\xampp\htdocs\cakephp-2.0.6\lib\Cake\Routing\Dispatcher.php(86): Dispatcher->_invoke(Object(UsersController), Object(CakeRequest), Object(CakeResponse))
#5 C:\xampp\htdocs\addience\webroot\index.php(98): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))
#6 {main}

Why?

Thank you!

解决方案

Easy,

$this->request->query['email']

was empty :)

Thank you anyway.

这篇关于CakeMail不能识别和查看功能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆