2015-03-31 108 views
0

我有一個奇怪的問題,並不確定它會導致此問題。 首先,我有以下我的控制器代碼,codeigniter在沒有配置電子郵件庫的情況下發送電子郵件

$this->load->library('email'); 
    $this->email->from('[email protected]', 'Test email'); 
    $this->email->to($this->session->userdata('user_email')); 

    $this->email->subject($subject); 
    $this->email->message($message);  
    $this->email->send(); 
    $this->email->print_debugger(); 

我的電子郵件庫是像下面,

class CI_Email { 

var $useragent  = "CodeIgniter"; 
var $mailpath  = "/usr/sbin/sendmail"; // Sendmail path 
var $protocol  = "mail"; // mail/sendmail/smtp 
var $smtp_host  = "";  // SMTP Server. Example: mail.earthlink.net 
var $smtp_user  = "";  // SMTP Username 
var $smtp_pass  = "";  // SMTP Password 
var $smtp_port  = "25";  // SMTP Port 
var $smtp_timeout = 5;  // SMTP Timeout in seconds 
var $smtp_crypto = "";  // SMTP Encryption. Can be null, tls or ssl. 
var $wordwrap  = TRUE;  // TRUE/FALSE Turns word-wrap on/off 

我有兩個問題,

  1. 我不知道爲什麼它是發送電子郵件時沒有指定smtphost,用戶,通過,端口等在CI_Email類, 當我點擊按鈕在我看來,控制器運行和發送電子郵件會話用戶的電子郵件。

  2. 電子郵件可以來我公司的電子郵件,但不能發送到我的Gmail,實時電子郵件甚至我一直在控制器CC,然後我收到的電子郵件在我公司郵箱,我可以看到我的Gmail地址的CC,但在Gmail框中,沒有電子郵件。

最初我在電子郵件庫變量中輸入了我的gmail smtp設置,但是對於其他測試我刪除了它。 然後,即使在庫中沒有Gmail郵件SMTP設置後,我可以看到電子郵件出去,這也是我的公司電子郵件,而不是在Gmail或實時電子郵件中,

我們是否必須在CI_Email類庫中配置某些內容?

有什麼想法?

+0

可能在您的php.ini文件中,它們都已設置。找到'[郵件功能]'在你的php.ini – Manish 2015-03-31 05:23:23

+1

[Nops其全部默認],[郵件功能] ;僅適用於Win32。 ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25 ;僅適用於Win32。 ; http://php.net/sendmail-from ; sendmail_from = [email protected] ;僅適用於Unix。您也可以提供參數(默認值:「sendmail -t -i」)。 ; http://php.net/sendmail-path ; sendmail_path = – rjcode 2015-03-31 05:31:26

回答

0

我找到答案,問題是在下面的代碼

$protocol  = "mail"; 

這是默認的協議,它通過PHP和電子郵件在同一個域發送電子郵件會去而已,不是外界域, 然後我用SMTP協議對於Gmail,然後它的工作, 隨着PHP 5.6有SMTP的問題,但與PHP 5.5它的工作!

相關問題