2011-05-05 116 views
2

我想送從本地主機的電子郵件,但我得到的錯誤:使用PHP郵件功能發送郵件 - 本地郵件服務器?

無法連接在「localhost」的端口25的郵件服務器,驗證您的「SMTP」和「SMTP_PORT」在php.ini中設置或使用ini_set()。

這是否意味着我需要設置本地郵件服務器?如果是這樣,哪一個最簡單。

在此先感謝

保羅

+0

你在什麼操作系統? – 2011-05-05 20:12:38

+0

windows vista ... – Pjn2020 2011-05-05 20:14:58

+0

所以是的,你需要在Windows上設置郵件服務器 – Neal 2011-05-05 20:20:03

回答

9

這是我使用的,但它僅用於測試目的:

http://www.toolheap.com/test-mail-server-tool/

幾乎沒有配置,並且在其他幾臺郵件服務器出現故障後,我立即開始使用它(在Win7上)。它不會發送實際的郵件,而是將其存儲爲.eml文件。這對於測試郵件列表非常有用,例如,您不想發送2000封電子郵件,但希望從您的應用程序中獲得真實的結果。

它可能看起來像垃圾,但它一直在爲我工作。

+0

謝謝,這將對測試非常有用 Thanks every1 – Pjn2020 2011-05-05 20:29:35

0

是的,確實如此,如果你想將郵件發送到外部電子郵件地址(而不是本地系統的用戶,這是煩人的困難)。

大多數託管公司(例如GoDaddy)都爲你設置了這個設置,所以PHP的mail()函數在你不需要做任何事情的情況下工作。 (a)將sendmail配置爲使用備用SMTP網關(我經常使用Gmail)或(b)完整的sendmail替代方案(Zend Mail看上去很有前景)()如果您在自己的系統上配置它, 。)

+0

我也嘗試使用我的主機smtp服務器,但得到這個錯誤: SMTP服務器響應:501語法無效HELO參數 任何想法? – Pjn2020 2011-05-05 20:25:18

0

如果您使用的是Linux,通常沒有必要成立AA郵件服務器,

如果您使用的是Windows,是的,你確實需要設置郵件服務器

0

如果您對發送郵件感興趣,可以通過SMTP協議使用任何SMTP服務器。這裏有一個tutorial來設置PHP使用遠程SMTP服務器。

0

是的,你需要一個郵件服務器才能發送郵件,但即使你這樣做,你也不能發送到你本地網絡以外的地址,因爲來自你的計算機的郵件將被所有人阻止收件人出於垃圾郵件原因。

您可以使用pear mail function連接到像gmail這樣的外部smtp providor來爲您發送郵件。更多信息herehere

0

smtp4dev在我看來是在Windows上捕獲本地SMTP流量的最佳工具。

它在本地主機端口25上監聽SMTP,並在每次發佈新郵件時(它實際上不會將郵件轉發給其收件人)彈出通知。然後,您可以在您最喜歡的郵件代理中打開郵件或將其保存到文件中。

相關問題