2011-04-17 47 views
1

我試圖使用從這裏的「發送基本信息」代碼發送電子郵件的工作: http://book.cakephp.org/view/1283/Email#!/view/1286/Sending-a-basic-message試圖讓測試電子郵件CakePHP中

的代碼似乎工作,但我從來沒有收到郵件(我已驗證該電子郵件地址是否有效)。我沒有在PHP中的任何地方配置電子郵件服務器,但是這些說明沒有提到這一點。下面是輸出當我設置

$this->Email->delivery = 'debug'; 

To: Somebody Else 
From: Somebody 
Subject: Test 
Header: 

From: Somebody 
Message-ID: <[email protected]> 
Date: Sat, 16 Apr 2011 22:00:13 -0600 
X-Mailer: CakePHP Email Component 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: 7bitParameters: 

Message: 

Hello message body! 
+0

你在什麼平臺?在Windows上,您需要運行本地SMTP服務器,或者至少在php配置中指定一個。如果您使用的是Unix/Linux服務器,那麼您可能已經有一臺服務器了,因此請檢查/ var/log/maillog並查看郵件發生了什麼 - 它可能會被垃圾郵件清除。 – 2011-04-17 05:00:39

+0

我在centOS 5.5上。我的機器沒有設置發送電子郵件,所以我將不得不路由通過類似谷歌SMTP。 – opike 2011-04-17 13:58:03

+0

好的。 Edit0添加。在閱讀其他帖子的時候,我想到的另一點是,(afaik)CakePHP可以通過套接字連接直接與SMTP對話。所以我會嘗試確保設置(如在我的edit0中)是正確的,而不是進行日誌文件搜索(CakePHP日誌在app/tmp/logs中)Ü – benjamin 2011-04-17 16:32:31

回答

1

opike,

如果使用debug設置,那麼你是不是發送電子郵件,而是顯示它。 見here。請參閱here。因此,您不需要像exim這樣的MTA配置sendmail,而是使用您的ISP(又名(這裏是您的正常電子郵件地址))來完成這項工作。

Edit0: 你definitly設置它喜歡的書規定?:

+0

對,我知道調試設置的行爲。我只是這樣做了這個線程的額外信息。當我進行實際測試時,我將其關閉。 – opike 2011-04-17 15:19:39

1

嘗試在自己的文件中運行phpinfo()函數,並查看是否您的PHP安裝正在使用類似sendmail的東西。最有可能的是,您沒有安裝SMTP服務器,或者您的php.ini文件中沒有正確配置它。

PHP日誌中是否有任何錯誤(錯誤)?

<?php 

phpinfo(); 

?> 
+0

以下是phpinfo()中的smtp屬性:SMTP localhost本地主機smtp_port 25 25我的服務器沒有設置發送電子郵件,所以我需要使用像谷歌SMTP。 – opike 2011-04-17 13:59:33