2014-10-09 4 views
0

Cakephp를 사용하여 이메일을 보내려고 할 때 "알 수없는 이메일 구성 'gmail'"오류가 발생합니다. 그 이유는 localhost (xampp)에서 전송하기 때문입니까? 당신이 당신의 구성 파일에 gmail을 config (설정) 할 new CakeEmail('gmail')를 사용하려면이메일 보내기 오류 CakePHP

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 = '[email protected]'; 
     $email->Email->to=$this->data['User']['email']; 
     $email->Email->subject = 'Confirm Registration'; 
     $email->Email->smtpOptions = array(
     'host' => 'ssl://smtp.gmail.com', 
     'port' => 465, 
     'username' => '[email protected]', 
     'password' => 'mypassword', 
     'transport' => 'Smtp' 
     ); 
     $email->send($message . " " . $confirmation_link); 
     $this->Session->setFlash(__('you should activate your account')); 
     } 
} 

답변

1

(/Config/email.php)과 같은 :

public $gmail = [ 
    'transport' => 'Mail', 
    'from' => '[email protected]', 
    //'charset' => 'utf-8', 
    //'headerCharset' => 'utf-8', 
]; 

http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

new CakeEmail('gmail')gmail 설정을 읽 응용 프로그램에서 구성 할 필요가 없습니다. 당신이 당신의 응용 프로그램의 모든 구성을 할 경우

, 아마 당신은 new CakeEmail();

+0

덕분에 너무 많은 사람, 더 이상 오류를 사용하고 싶습니다! 하지만 cakephp와 localhost를 사용하여 이메일을 보낼 수 있습니까? 내가 그것에 대해 어떤 참조를 찾을 수 없습니다 – Exchanger13

+0

정말 로컬 호스트의 환경에 따라 다릅니다. 환경을 올바르게 구성하면 localhost를 사용하여 전자 메일을 보낼 수 있습니다. 실제 서버처럼 취급하십시오. 실제 서버에서 직접 개발할 때는 '로컬 호스트'입니다. 맞습니까? – kyo