2013-03-14 84 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

相关问题