2012-09-23 66 views
2

我正在使用Zend並在提交上傳文件的頁面時遇到此錯誤[500 Internal Server Error]。 錯誤日誌文件如下所示。電子郵件與內部服務器錯誤有關嗎?Zend中的500內部服務器錯誤

[23-Sep-2012 18:15:12] PHP Fatal error: Uncaught exception 'Zend_Mail_Transport_Exception' with message 'Unable to send mail. mail() [<a href='function.mail'>function.mail</a>]: Failed to connect to mailserver at &quot;localhost&quot; port 25, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set()' in C:\Tools\Zend\ZendServer\share\ZendFramework\library\Zend\Mail\Transport\Sendmail.php:137 
Stack trace: 
#0 C:\Tools\Zend\ZendServer\share\ZendFramework\library\Zend\Mail\Transport\Abstract.php(348): Zend_Mail_Transport_Sendmail->_sendMail() 
#1 C:\Tools\Zend\ZendServer\share\ZendFramework\library\Zend\Mail.php(1194): Zend_Mail_Transport_Abstract->send(Object(Zend_Mail)) 
#2 C:\Projects\dcs_new\config_local.php(86): Zend_Mail->send() 
#3 C:\Projects\dcs_new\functions.php(277): smail('[email protected]', 'DCS: Document c...', 'Title: Testing ...', 'From: TAN CHEN ...') 
#4 C:\Projects\dcs_new\functions.php(284): email_users_obj('[email protected]', Array, 'DCS: Document c...', 'Title: Testing ...', 'From: TAN CHEN ...') 
in C:\Tools\Zend\ZendServer\share\ZendFramework\library\Zend\Mail\Transport\Sendmail.php on line 137 
+0

在您的服務器上安裝了sendmail,postfix或SMTP郵件設置嗎? – GBD

+0

你需要'嘗試/捕獲'發送郵件並對這樣的失敗做出反應,即。重試 –

+0

我如何驗證它們?我可以從phpinfo驗證嗎? – redcoder

回答

1

看起來你的網頁/腳本嘗試發送郵件,並嘗試連接到運行localhost:25 SMTP服務器。

所以,實質上,這是一個配置問題。

要克服本地開發的駝峯,您可以將development環境的默認傳輸設置爲Zend_Mail_Transport_File

application/configs/application.ini

[development : production] 
resources.mail.transport.type = file 
resources.mail.transport.path = APPLICATION_PATH "/../data/mail" 

記住創建data/mail目錄,並給Web服務器權限寫入那裏。