2011-08-06 2 views
1

CI를 사용하여 메일을 보내는 데 문제가 있습니다. "sendmail"프로토콜을 사용하여 메일을 보내지 만 스팸으로 필터링됩니다. 문제를 해결하기 위해 SMTP 프로토콜을 사용했지만 전송되지 않습니다.SMTP 프로토콜을 사용하여 CodeIgniter로 메일 보내기가 작동하지 않습니다.

내 코드는 다음과 같습니다 : 나는 CI에서 "SMTP"프로토콜을 사용하여 이메일을 보낼 때

$config = Array(
    'protocol' => 'smtp', 
    'smtp_host' => 'ssl://smtp.googlemail.com', 
    'smtp_port' => 465, 
    'smtp_user' => '*******@gmail.com', 
    'smtp_pass' => '********', 
    'mailtype' => 'html', 
    'charset' => 'iso-8859-1' 
); 

$this->load->library('email', $config); 
$this->email->set_newline("\r\n"); 
$message = "test mail"; 
$this->email->set_newline("\r\n"); 
$this->email->from('[email protected]', 'St. Maries'); 
$this->email->to("[email protected]"); 
$this->email->subject('Contact - St. Marians Belguam'); 
$this->email->message($message); 
if($this->email->send()) 
{ 
    echo "mail sent successfully"; 
} 
else 
{ 
    show_error($this->email->print_debugger()); 
} 

, 나는 다음과 같은 오류 얻을 :

A PHP Error was encountered 

Severity: Warning 

Message: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.googlemail.com:465 (Connection timed out) 

Filename: libraries/Email.php 

Line Number: 1673 

및 오류의 다른 목록을 ..

"openssl"을 사용하도록 서버 관리자에게 요청했습니다. 그것은 이미 돌보아지고 가능하게되었습니다.

시도해 보려면 this link을 방문하여 직접 확인하십시오.

+0

smtp 대신 sendmail을 사용해보십시오. 어떻게 작동하는지보십시오. – Brad

+0

예 sendmail을 사용해 보았지만 "sendmail"이 "spam"으로 전송되었습니다. 받은 편지함에 표시하고 싶습니다. 특정 메일이 스팸임을 Gmail에 알리는 조건은 무엇입니까? Brad에게 답변 해 주셔서 감사합니다. 내가 시도 할 수있는 다른 옵션 ..? – siddharth

+0

sendmail은 완벽하게 작동하지만 내 웹 사이트 전자 메일을 사용하고 있는지 확실하지 않습니다. 나는 내가 시도한 것에 관계없이 stmp를 결코 작동시킬 수 없었다. 나는 Nettuts가 이것에 대해 한 번 헛소리를했다고 생각한다. 이것 좀 봐 http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-3/ Gmail을 사용하는 얇은 k – Brad

답변

0

작동하지 않는 경우 php.ini 파일을 확인하십시오. 이 라인

변경,

확장에 확장 = php_openssl.dll

을 = php_openssl.dll 그것의 php.ini 파일의 줄에서 주석을 제거 의미

.