Php 发送确认电子邮件时出错

Php 发送确认电子邮件时出错,php,oop,smtp,localhost,Php,Oop,Smtp,Localhost,我正在创建一个用户注册表单,在他们填写所有信息并提交表单后,所有数据都会进入我的数据库表。成功注册后,将向用户在注册表中提供的电子邮件地址发送确认电子邮件。但电子邮件未发送。我收到如下错误消息: Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in

我正在创建一个用户注册表单,在他们填写所有信息并提交表单后,所有数据都会进入我的数据库表。成功注册后,将向用户在注册表中提供的电子邮件地址发送确认电子邮件。但电子邮件未发送。我收到如下错误消息:

    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 D:\wamp\www\boobloom\site\class.Utility.inc.php on line 25
   Registration Successful. 
这是我在注册表中使用的功能:

if(mysql_query($insert_query)){
    Utility::sendRegConfirmEmail(mysql_insert_id());
    echo $message = "Registration Successful.";
}else{
    echo $message = "Registration not Successful.";
}
以及:

静态函数sendRegConfirmEmail($id){
$query=“从id=”的用户中选择*”$id.“”;
$result=mysql\u query($query)或die(mysql\u error());
$row=mysql\u fetch\u assoc($result);
$to=$row['email'];
$confirmationcode=$row['confirmation_code'];
$tVar=时间();
$confirmLink=HTTP_PATH.registrationConfirm/'.md5($tVar)。'/'.to.'/'.$confirmationcode.'/'.md5($to);
//获取电子邮件模板的步骤
$QUERYAT=“从emailtemplates中选择*,其中类型='registration\u confirmation';
$resultET=mysql\u query($queryyet)或die(mysql\u error());
$rowET=mysql\u fetch\u assoc($resultET);
$subject=$rowET['subject'];
$toRepArray=array(“[!Name!]”、“[!email!]”、“[!PASSWORD!]”、“[!activation_code!]”、“[!Link!]”);
$fromRepArray=array($to,$to,$row['password'],$confirmationcode,$confirmLink);
$message=str_replace($toRepArray,$fromRepArray,$rowET['message']);
$headers=“MIME版本:1.0\r\n”;
$headers.=“内容类型:text/html;字符集=iso-8859-1\r\n”;
$headers.=“From:boobloom.com\r\n”;
邮件($to、$subject、$message、$headers);
}

此错误来自smtp设置,而不是您的代码。您应该验证smtp设置是否正确

试用

echo ini_get("SMTP");
echo ini_get("smtp_port");
获取您的SMTP详细信息。 检查您的php.ini

它应该是这种格式

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

有关此类问题,请与服务器管理员联系,您似乎没有阅读错误消息,因为这会告诉您问题所在,与用户电子邮件ID无关。其次,您没有告诉我们代码所在的文件,因为错误指定了class.Utility.inc.php,但我们可以查看与我们所知无关的任何代码,我正在使用我的网站管理面板。注册成功的消息出现。任何错误和警告都不会显示,但电子邮件不会出现在地址上…@omnath检查邮件中的垃圾邮件文件夹!
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25