2012-08-13 77 views
0

我在Mac OS X上使用MAMP 2.1.1(不是MAMP Pro)。我想編寫一些php代碼來發送html電子郵件。在MAMP上使用梨形郵件

我已經安裝了mail,mail_mime和net_smtp。當我嘗試在http://pear.php.net/manual/en/package.mail.mail.send.php上找到的例子時,我總是得到「500內部服務器錯誤」。我檢查了php_error.log,它說「PHP致命錯誤:未找到類'郵件'」。我試圖

<?php 
require_once('Mail.php'); 
var_dump(class_exists('Mail', false)); 
?> 

返回布爾(假)布爾(假)

我檢查了所有的文件和路徑,一切似乎都很好。我在Ubuntu服務器上嘗試了相同的代碼,一切都很好。

有誰能告訴我如何解決這個問題?

+0

是你的incude道路梨梨dir?嘗試使用get_include_path()查看當前路徑 – wgcrouch 2012-08-13 21:59:12

+0

感謝您的回覆,WayneC!輸出是「。:/ Applications/MAMP/bin/php/php5.4.4/lib/php」,我檢查了所有的擴展文件(包括Mail.php,Pear.php等)都在這個路徑下。該電子郵件仍然無法發送出去。 – user1166140 2012-09-07 00:35:09

+0

您是否找到解決方案我有同樣的問題 – Ptitaw 2013-04-07 16:06:55

回答

0

今年我安裝了Mountain Lion,現在我正在使用內置的apache,php和mysql而不是MAMP。但是我發現這個問題在我目前的環境中依然存在。

但我有一個不完美的解決方案可以使代碼工作。我把這個排隊叫號要求/ require_once之前:

ini_set('include_path', ini_get('include_path') . ':/usr/lib/php/pear');

那麼郵件功能可以正常工作。

沒有這條線,我的機器上的包含路徑是.:/usr/local/php5/lib/php。您可以看到問題是由不正確的路徑引起的。由於某些原因,PEAR安裝在不同的路徑中,並且php.ini設置不正確。

您可以在您的機器上試用此解決方案。首先找出你的梨安裝路徑,然後相應地更改該行並將其放入代碼中。

希望這個解決方案能給你一點提示。如果你能分享更好的解決方案,我將不勝感激!