2013-03-14 131 views
6

我想從我的PHP代碼發送電子郵件,但我收到了警告消息。那麼要設置什麼php.ini參數?什麼是設置發送電子郵件的php.ini參數?

+1

警告信息說什麼? – 2013-03-14 06:49:11

+0

通過http://php.net/manual/en/function.mail.php – 2013-03-14 06:53:20

+0

的警告是:'[14-Mar-2013 09:52:42] PHP Warning:mail()[function.mail]:失敗在連接本地主機"端口" 25至郵件服務器,驗證您的" SMTP "和" SMTP_PORT "設置在php.ini或C使用的ini_set():\ WAMP \ WWW \ MP_Local \ LIB \ mail.lib.php上線99' – pheromix 2013-03-14 06:54:15

回答

9

要檢查/更改你的PHP郵件配置:

打開php.ini文件(如果你不知道這一點,見下文) 搜索讀取[郵件功能] 添加一行/更改郵件服務器的詳細信息。這可能是本地郵件服務器或您的ISP的郵件服務器。 保存/關閉php.ini文件 重新啓動你的web服務器

的郵件設置可能是什麼樣子,當你第一次打開php.ini文件的一個例子:

[mail function] 
; For Win32 only. 
SMTP = localhost 
smtp_port = 25 

; For Win32 only. 
;sendmail_from = [email protected] 

; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
;sendmail_path = 

附加信息是在呼應phpinfo()你可以查看你的PHP配置細節。您可以通過創建一個.php文件來做到這一點,其中包含以下行:<?php phpinfo(); ?>。當你在瀏覽器中運行這個時,你會看到一個完整的PHP配置變量列表。只需搜索包含php.ini和sendmail_path的行即可查看需要使用的值。

另一個想法是,你可以使用ini_set()正確配置您的郵件設置,這樣

下面的代碼添加到您的電子郵件腳本的頂部,如果你的郵件腳本仍然失敗。

// Please specify your Mail Server - Example: mail.example.com. 
ini_set("SMTP","mail.example.com"); 

// Please specify an SMTP Number 25 and 8889 are valid SMTP Ports. 
ini_set("smtp_port","25"); 

// Please specify the return address to use 
ini_set('sendmail_from', '[email protected]'); 
+0

實際上,這個問題是,WINDOWS不附帶郵件服務器。您必須安裝一個才能使send()工作以及更改一些配置參數。 – RiggsFolly 2013-04-29 22:35:40

相關問題