2013-05-30 152 views
0

我想從PHP發送電子郵件這裏是我的配置和代碼:PHP無法發送電子郵件

smtp_port = 25 
SMTP = 'my ip address' 

mail('[email protected]', 'subject', 'message', 'FROM : headerInfo'); 

我不知道我缺少這不是發送電子郵件。

編輯:

我沒有得到錯誤.. $result = mail(); echo $result;正在打印什麼。

沒有垃圾郵件。

服務器不是本地主機文件在遠程服務器上,但我不知道它是否是SMTP服務器。

我該如何阻止ISP?

我查了日誌:

致命的:綁定0.0.0.0端口25:已在使用

如何解決它的地址嗎?

+0

你在指定的smtp位置上運行mailserver嗎?你有任何錯誤?我們需要更多的工作。 – vdwijngaert

+0

檢查垃圾郵件框,有時如果smtp服務器沒有被外部服務器識別,則郵件將被推送到垃圾郵件框; – cerkiewny

+0

)您是對的,PHP無法發送電子郵件...您需要SMTP服務器。 .. –

回答

0

如果一切順利,你必須再次檢查你的smtp並檢查你的php郵件頁面。它必須上傳到服務器上,而不是在本地主機系統上。

1

您正在使用默認的php.ini設置發送電子郵件。這可能是:

  • 你沒有一臺郵件服務器(如果你是在本地主機上運行,​​或者 IP地址不具有郵件服務器)
  • 端口25是由您的ISP封鎖(你可以問,如果sendmail_path變量設置正確進行解鎖)
0
  1. 首先檢查。你可以在頁面中看到它從echo phpinfo()。典型值爲/usr/sbin/sendmail -t -i

  2. 如果您要在函數的第4個參數中發送額外的標頭,請嘗試刪除它併發送。在郵件功能中使用不正確的標題是一種非常常見的情況。檢查您的服務器中是否安裝了阻止您的電子郵件的垃圾郵件過濾器。

  3. 如果您有訪問權限,請檢查您的郵件日誌文件以查看該郵件是否被郵件服務器阻止或尚未到達服務器。如果日誌中沒有輸入您的電子郵件,這意味着您的php代碼或php配置有問題。如果它在日誌中,您可以看到它未交付的原因。 郵件日誌文件的典型路徑是/var/log/maillog

  4. 檢查您是在本地主機上運行還是該IP地址沒有郵件服務器。