Email 发送电子邮件CakePHP时出错

Email 发送电子邮件CakePHP时出错,email,cakephp,Email,Cakephp,我在尝试使用Cakephp发送电子邮件时遇到“未知电子邮件配置‘gmail’”错误,这是因为我是从localhost(xampp)发送的吗 为了使用new-CakeEmail('gmail')您必须在配置文件(/config/email.php)中配置gmail,例如: new-CakeEmail('gmail')将读取您的gmail配置,您无需在应用程序中进行配置 如果您在应用程序中执行所有配置,那么您可能希望使用new CakeEmail()非常感谢,伙计,不要再犯错误了!但是使用本地主机

我在尝试使用Cakephp发送电子邮件时遇到“未知电子邮件配置‘gmail’”错误,这是因为我是从localhost(xampp)发送的吗


为了使用
new-CakeEmail('gmail')
您必须在配置文件(/config/email.php)中配置
gmail
,例如:

new-CakeEmail('gmail')
将读取您的
gmail
配置,您无需在应用程序中进行配置


如果您在应用程序中执行所有配置,那么您可能希望使用
new CakeEmail()

非常感谢,伙计,不要再犯错误了!但是使用本地主机和cakephp发送电子邮件是可能的吗?我找不到任何关于这方面的参考资料,这实际上取决于本地主机的环境。如果我们正确配置环境,就可以使用localhost发送电子邮件。把它当作真正的服务器。当您直接在真正的服务器上开发时,它也是一个“本地主机”,对吗?
if($this->User->save($this->request->data)){
       $message='Click on the link below to complete registration ';
       $confirmation_link='www.sitename.com/users/verify/t:'.$hash.'/n:'.$this->data['User']['username'].'';
       App::uses('CakeEmail', 'Network/Email');
       $email = new CakeEmail('gmail');
       $email->Email->from = 'myemail@gmail.com';
       $email->Email->to=$this->data['User']['email'];
       $email->Email->subject = 'Confirm Registration';
       $email->Email->smtpOptions = array(
       'host' => 'ssl://smtp.gmail.com',
       'port' => 465,
       'username' => 'myemail@gmail.com',
       'password' => 'mypassword',
       'transport' => 'Smtp'
       );
       $email->send($message . " " . $confirmation_link);
       $this->Session->setFlash(__('you should activate your account'));
       }
}
public $gmail = [
    'transport' => 'Mail',
    'from' => 'you@localhost',
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
];