2010-08-23 68 views
0

我遇到了一个错误:为什么我在此电子邮件脚本中出现“无法连接到邮件服务器”错误?

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 C:\works\test\registration-code3.php on line 56 

这里是我的php.ini

define_syslog_variables = Off 

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = localhost 
; http://php.net/smtp-port 
smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

我怎样才能解决这个问题?

回答

0

看起来你的Windows机器在端口25上没有SMTP服务器。我猜测它是你的开发机器。相反,编辑你的ini文件,你可以尝试一些其他的SMTP服务器,例如你的ISP提供给你的那个。

尝试下面的代码添加到电子邮件的脚本的顶部:

ini_set("SMTP","mail.domain.com"); 
ini_set("smtp_port","25"); 
ini_set('sendmail_from', '[email protected]'); 
+0

还有问题.. :( – devzone 2010-08-23 06:53:39

1

根据您告诉我们什么,特别是该位:

C:\works\test\registration-code3.php 

使我相信,你的测试你的本地系统上的一些脚本。如果是这样,并且您还没有安装并设置邮件服务器,那么它当然不起作用。你需要一个MTA实际上发送的电子邮件,PHP只是交给它。

如果你只是安装了XAMPP,那么你没有一个工作的MTA可以在没有实际工作的情况下发送。

如果您必须以这种方式从您的开发机器发送电子邮件,我建议您选择并使用像Swiftmailer这样的脚本,这将允许您轻松使用其他地方托管的邮件服务器 - 比如您的ISP甚至谷歌。

相关问题