2014-02-27 171 views
1

電子郵件在當地,但給錯誤得到發送時,網站上傳 這裏是圖書館的代碼,請幫助CI SMTP Gmail發送

<?php 

if (!defined('BASEPATH')) 
    exit('No direct script access allowed'); 

class Emaillib { 

    function send_email($fromEmail, $fromName, $details) { 
     $CI = & get_instance(); 
     $CI->load->library('email'); 

     $config['protocol'] = 'smtp'; 
     $config['smtp_host'] = 'ssl://smtp.gmail.com'; 
     $config['smtp_port'] = '465'; 
     $config['smtp_timeout'] = '7'; 
     $config['smtp_user'] = '[email protected]'; // Email 
     $config['smtp_pass'] = '*****'; // Password 
     $config['charset'] = 'utf-8'; 
     $config['newline'] = "\r\n"; 
     $config['mailtype'] = 'html'; // or html 
     $config['validation'] = TRUE; // bool whether to validate email or not 

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

     $CI->email->from($fromEmail, $fromName); 
     $CI->email->to('[email protected]'); // To Email 
     $CI->email->reply_to($fromEmail, $fromName); 

     $CI->email->subject('Enquiry through Website'); 
     $CI->email->message($details); 

     $isSent = $CI->email->send(); 
     //echo $CI->email->print_debugger(); 

     if (!$isSent) { 
      return 'false'; 
     } 
     return 'success'; 
    } 

} 

?>

+3

有什麼錯誤? – Lexib0y

+0

檢查您的端口 - 465可能不會打開 – NorthBridge

+0

電子郵件成功在localhost ..當網站上傳 – user3360875

回答

0

因爲你說,它工作正常,在當地表示這是代碼問題,而與服務器配置有關。這很難說準確的問題是什麼,但我會用支票做以下

  • 檢查服務器的日誌文件中的任何錯誤
  • 確保在php.ini中啓用了SSL下面一行是 - 未註釋extension=php_openssl.dll
  • 確保端口465是開放的

嘗試那些下手,看看會發生什麼