2012-05-23 59 views
0

我無法使用codeigniter中的mediatemple發送電子郵件。我檢查了電子郵件密碼和smtp主機,它們是正確的。mediatemple - 無法使用codeigniter發送電子郵件

這是錯誤:

Severity: Notice 

Message: fwrite() [function.fwrite]: send of 12 bytes failed with errno=10054 An existing connection was forcibly closed by the remote host. 

Filename: libraries/Email.php 

Line Number: 1846 

這是我的代碼: 我已經取代sxxxxx.gridserver.com我正確的SMTP。

function _sendEmail($from,$fromname,$to,$subject,$message){ 
      $config = array(
      'protocol' => 'smtp', 
      'smtp_host' => 'sxxxxx.gridserver.com', 
      'smtp_port' => 465, 
      'smtp_user' => '[email protected]', 
      'smtp_pass' => 'mypass' 
     ); 


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

     $this->email->from($from,$fromname); 
     $this->email->to($to); 
     $this->email->subject($subject); 
     $this->email->message($message); 
     $this->email->send(); 
    } 

任何幫助,將不勝感激。

編輯:我已經使用端口25

+0

如果您是通過SSL連接,它的拒絕連接,它可能是你沒有安裝的SSL /啓動/上正確配置了服務器。你的'phpinfo()'看起來像什麼? – Seabass

+0

支持SSL,已啓用。 – user1217380

+0

您可能會在本地機器中使用 – saravanabawa

回答

0

固定的這個問題,您需要初始化的配置,請參閱the codeigniter documentation for the email class

這裏是我的榜樣效果很好...

function send_email($attributes) { 

     $this->load->library('email'); 

     $this->email->set_newline("\r\n"); 

     $config['protocol'] = 'smtp'; 
     $config['smtp_host'] = 'host'; 
     $config['smtp_port'] = '465'; 
     $config['smtp_user'] = '[email protected]'; 
     $config['smtp_from_name'] = 'FROM NAME'; 
     $config['smtp_pass'] = 'XXX'; 
     $config['wordwrap'] = TRUE; 
     $config['newline'] = "\r\n"; 
     $config['mailtype'] = 'html';      

     $this->email->initialize($config); 

     $this->email->from($config['smtp_user'], $config['smtp_from_name']); 
     $this->email->to($attributes['to']); 
     $this->email->cc($attributes['cc']); 
     $this->email->bcc($attributes['cc']); 
     $this->email->subject($attributes['subject']); 

     $this->email->message($attributes['message']); 

     if($this->email->send()) { 
      return true;   
     } else { 
      return false; 
     }  

} 
+0

我使用的代碼與gmail一起使用,但與mediatemple無關。它與mediatemple有關。我試過了您的代碼,但遇到了同樣的錯誤。 – user1217380

+0

我想你需要聯繫Mediatemplate關於錯誤,似乎有一個問題與smtp主機。也許某些安全功能可以阻止您發送郵件。 –

+1

修復了問題.port 456僅適用於ssl.I需要使用25.無論如何感謝您的幫助。 – user1217380