2012-08-06 57 views
0

因此,代碼:爲什麼電子郵件沒有到達目的地(笨)

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

     $this->email->from('[email protected]', 'mysite'); 
     $this->email->to($email); 

     $this->email->subject('Email Test'); 
     $this->email->message('Testing the email class.'); 

     $this->email->send(); 

我不明白爲什麼沒有錯誤,當我發送一封電子郵件,但是當我檢查我的電子郵件中,沒有電子郵件,所以它看起來像電子郵件沒有達到他的目的地,我使用CodeIgniter,也許我需要添加一些其他設置來解決這個問題?請幫忙!!

PS:我也用本地mail()函數,反正郵件不來,我檢查它在Gmail中

Your message has been successfully sent using the following protocol: mail 
From: "mysite" 
Return-Path: 
Reply-To: "[email protected]" 
X-Sender: [email protected] 
X-Mailer: CodeIgniter 
X-Priority: 3 (Normal) 
Message-ID: <[email protected]> 
Mime-Version: 1.0 
Content-Type: text/plain; charset=utf-8 
Content-Transfer-Encoding: 8bit 
=?utf-8?Q?Email_Test?= 
Testing the email class. 

是有什麼錯嗎?

+0

檢查垃圾郵件呢! – Prasanth 2012-08-06 04:48:36

+0

檢查您的郵件服務器的日誌,以瞭解在PHP移交電子郵件後會發生什麼。請記住,PHP實際上並不會將電子郵件發送到遠程郵箱/郵件服務器,它只是將它交給本地(ish)SMTP服務器,並且它是負責交付的服務器。 – 2012-08-06 04:48:48

+0

你有郵件服務器嗎? – 2012-08-06 04:48:58

回答

2

您是在本地主機服務器上還是在生產服務器上使用它?如果您使用的是您自己安裝的Apache,PHP和MySQL(例如手動安裝,WAMP,XAMPP,MAMP等),那麼您可能沒有在本地主機上安裝郵件服務器來發送郵件。

嘗試以下操作:

mail('[email protected]', 'My Subject', 'Test message...'); 

如果這不起作用,那麼很有可能你沒有在服務器上安裝一個郵件服務器。

+0

我sendind電子郵件從一個真實的網站,如www.mysite.com,而不是本地主機 – 2012-08-06 04:52:26

+0

函數'mail()函數工作,如上所示? – 2012-08-06 04:53:49

+0

是的,它返回TRUE,但是當我檢查我的電子郵件框 - 是空的:( – 2012-08-06 04:55:45

0

奇怪!可能你應該在配置文件夾內創建一個文件email.php。

文件

$config['protocol'] = 'sendmail'; 
$config['mailtype'] = 'html'; 
$config['mailpath'] = '/usr/sbin/sendmail'; 

中添加以下代碼在你的控制你在哪裏發送電子郵件添加一條線,你設定的往返頭前。

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

確保加載新設置。

相關問題