PHP发送邮件错误

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

解决方法:

PHP的Mail函数使用的是SMTP服务发出E-Mail的。也就是说你需要在php.ini里配置好适当的SMTP服务器地址和端口信息。如果你需要在本机上发出E-Mail,即

SMTP = localhost
smtp_port = 25
这样的话,你需要在你自己的本机上配置上SMTP服务才可以。你可以尝试打开IIS的SMTP服务。
 
  
说明一下,php中的mail()函数要借助sendmail程序发送邮件,而sendmail -t -i一般是linux/unix系统的自带程序,而windows系统没有这个程序,所以就不能直接利用mail()函数发邮件了。

实现在windows下利用mail()发送电子邮件

1、发送邮件系统要有SMTP服务。在“windows Server 2003”下安装“SMTP Service”组件:
A、“添加删除Windows组件”->“应用程序服务器”->“Internet 信息服务(IIS)”点击“详细信息”。
B、选择“SMTP Service”进行安装。
2、对SMTP进行设置:
A、打开“Internet 信息服务(IIS)管理器”,找到“默认 SMTP虚拟服务器”。
B、在该服务上单击右键选择“属性”。
C、在弹出的“默认 SMTP虚拟服务器 属性”框内点选“访问”表项,选择“身份验证”按钮。
D、在弹出的“身份验证”框内只选择“匿名访问”其它都不选。
E、回到“访问”表项,选择“中继”按钮,在弹出的“中继限制”框内单击“添加”按钮,添加127.0.0.1的IP地址。
3、修改“php.ini”:
------------------------------
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
sendmail_from = [email protected]
------------------------------
4、运行本程序,登陆“$toaddress”所示邮箱查看邮件。

*/
$toaddress = '[email protected]';
$subjects = 'test the php mail';
$mailcontent = 'Onlu test the php mail!';
$fromaddress = 'From: [email protected]';
mail($toaddress,$subjects,$mailcontent,$fromaddress);
?>

你可能感兴趣的:(PHP发送邮件错误)