2011-01-19 53 views
6

我無法通過php的郵件功能發送電子郵件。無法通過PHP郵件發送郵件()

這是我收到的錯誤。 警告:mail()[function.mail]:無法連接到「本地主機」端口25的郵件服務器,在php.ini中驗證您的「SMTP」和「smtp_port」設置或在D:\ inetpub \ vhosts中使用ini_set \ southernbatteries.com \的httpdocs \包括第6行 陣\ utils.php中([0] => [1] =>無法發送郵件,請稍後再試...)

究竟是什麼意思?這是否意味着我的網絡服務器上沒有安裝郵件服務器?是否可以使用不同的郵件服務器。例如Gmail郵件服務器發送郵件?

+0

你運行你自己的web服務器嗎? – 2011-01-19 08:31:43

+0

@皮卡不,我不知道。 – 2011-01-19 08:34:38

回答

4

如果您想使用內置的mail(),您需要與服務器管理員交談。可以在Windows上使用外部SMTP服務器,但必須在php.ini設置中指定,而PHP的內置函數不支持SMTP驗證。

的常用方法是要麼使用又可以跟一個「真正的」 SMTP服務器身份驗證的本地郵件服務器,或使用郵包一樣SwiftMailer可以連接諸如Gmail第三方SMTP服務器直。

0

您需要有一個郵件服務器來發送郵件。如果你只有apache,那麼你不能,除非你讓edit the php.ini file and set the smpt_server允許你這樣做。請注意,這隻會取決於您的ISP。

如果你有一個託管帳戶,你可以上傳文件並在線他們將工作。

+0

一些來自的phpinfo)行(是 SMTP \t本地主機\t本地主機 SMTP_PORT 內部的Sendmail支持Windows \t啓用 sendmail_from \t [email protected] \t [email protected] 它看起來好吧?我應該尋找其他東西來確保郵件服務器正在運行嗎? – 2011-01-19 08:59:25

0

你應該在你的服務器上運行你自己的郵件服務器。很可能它沒有啓動或沒有安裝。

正如我看到你正在Windows上運行它最有可能是後者。你可以嘗試使用你的提供者郵件服務器。或Google。但你最需要的是用戶名和密碼。

+0

你不是指「[...]運行你自己的** mail **服務器[...]」嗎? – oezi 2011-01-19 08:39:50

+0

是的,心智錯亂現在已經修復。 – RJD22 2011-01-19 08:41:05

0

你應該避免使用php的mail()函數作爲ist連接並斷開連接到每個發送的郵件的郵件服務器。

取而代之的是,嘗試使用類似phpMailer的東西,這樣可以輕鬆進行配置併發送大量郵件而不會出現性能問題。

0

如果您想運行自己的郵件服務器(例如,如果這是一個開發環境),您可以使用mercury