2012-05-18 3 views
1

나는 cakephp 전자 메일 구성 요소를 처음으로 살펴 보았습니다. 내 로컬 호스트에서 다음과 같은 이메일을 보내고 있습니다.Gmail에서 smtp를 사용하여 localhost에서 이메일을 보낼 수 없습니까?

$this->Email->smtpOptions = array( 'port'=>'465', 
             'timeout'=>'30', 
             'host'=>'smtp.gmail.com', 
             'username'=>'[email protected]', 
             'password'=>'mygmailpassword' 
            ); 


    $this->Email->delivery = 'smtp'; 
    $this->Email->from = "[email protected]"; 
    $this->Email->to = "[email protected]"; 
    $this->Email->subject = "Subject"; 
    $this->Email->sendAs = 'html'; 
    $this->Email->lineLength = 255; 
    $body = "<h1>This is body</h1>"; 
    $this->Email->send($body); 

이메일을 보내거나 오류를 표시하지 않습니다.

누락 된 것이 있습니까? 내가 올바르게 기억

감사

+0

체크 아웃 구글 계정을 활성화? – Sergey

답변

2

Gmail의 SMTP 서버는 SSL을 필요로한다.

$this->Email->smtpOptions = array(
    'port'=>'465', 
    'timeout'=>'30', 
    'host' => 'ssl://smtp.gmail.com', 
    'username'=>'[email protected]', 
    'password'=>'your_gmail_password', 
); 
+0

이전에 시도했지만 보내지 않았습니다. 내 로컬 호스트에 SSL을 설치하지 않았기 때문에 제거했습니다. – Awan

+0

http://support.google.com/mail/bin/answer.py?hl=ko&answer=13287 - Gmail을 사용하여 SSL을 사용해야합니다. 인용구 : "클라이언트가 SMTP4 인증을 지원하지 않으면 Gmail 주소를 사용하여 클라이언트를 통해 메일을 보낼 수 없습니다." – Gavin

+0

@Gavin 고정 코드는 수정 된 코드를 참조하십시오. – Ritesh

2

호스트해야보십시오 : SMTP에 대한 ssl://smtp.gmail.com

+0

나는 이것을 시도했으나 보내지 않았다. 내 로컬 호스트에 SSL을 설치하지 않았기 때문에 제거했습니다. – Awan

+1

php.ini에서'extension = php_openssl.dll' 주석 처리를 해 보셨습니까? – magnetik

관련 문제