2012-06-06 8 views
0

эй кто может помочь мне выйти из этой проблемы, я получаю следующее сообщение об ошибке PHP-ошибка была обнаруженаотправки электронной почты в CodeIgniter

Severity: Warning 

Message: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.googlemail.com:587 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) 

Filename: libraries/Email.php 

Line Number: 1689 

A PHP Error was encountered 

Severity: Warning 

Message: fwrite() expects parameter 1 to be resource, boolean given 

Filename: libraries/Email.php 

Line Number: 1846 

И у меня есть следующий код в моем классе Emailer

Class MailSender extends CI_Model{ 

    function __construct(){ 
     parent::__construct(); 
    } 

    public function sendMail(){ 
     $config=array(
       'protocol'=>'smtp', 
       'smtp_host'=> 'ssl://smtp.googlemail.com', 
       'smtp_port' => 587, 
       'smtp_user' => '[email protected]', 
       'smtp_pass' => 'signature08' 
     ); 

     $this->load->library('email',$config); 
     $this->email->set_newline("\r\n"); 

     $this->email->from("[email protected]"); 
     $this->email->to("[email protected]"); 
     $this->email->subject("this is a sample mail"); 
     $this->email->message("this is a sample message please check this"); 

     if($this->email->send()){ 
      //$data['message']="Email sent successfully"; 
      return true; 

     }else{ 
      //$data['message']="Couldnt sent the email, please provide me valid email address"; 
      return false; 
     } 

    } 
} 

ответ

0

У вас есть расширение openssl, фактически загруженное? Используйте phpinfo() в файле .php, чтобы узнать, загружено ли расширение openssl или Вы внесли какие-либо изменения в php.ini, которые вызвали это?

+0

У меня есть это в моей конфигурации ** Apache версии \t Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 ** .............................. ** OPENSSL_CONF \t C:/xampp/apache/bin/openssl.cnf ** .......................................... ..................... ** SERVER_SIGNATURE \t

Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Сервер на локальном хосте Порт 1234
SERVER_SOFTWARE \t Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 ** –

+0

Если все в порядке, ваш phpinfo (); должен перечислить эти транспорты сокета потока: 'Зарегистрированный поток Socket Transports tcp, udp, ssl, sslv3, sslv2, tls' В противном случае обратитесь к моему ответу. – N1ck

Смежные вопросы