我正在創建一個用戶註冊表單,並且在他們填寫完所有信息並提交表單後,將所有數據都放入我的數據庫表中。成功註冊後確認電子郵件將發送到用戶在註冊表單中提供的用戶電子郵件地址。但電子郵件不是sending.I我得到如下所示的錯誤消息:發送確認電子郵件時發生錯誤
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.";
}
和:
static function sendRegConfirmEmail($id){
$query = "SELECT * FROM users WHERE id = '".$id."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$to = $row['email'];
$confirmationcode = $row['confirmation_code'];
$tVar = time();
$confirmLink = HTTP_PATH.'registrationConfirm/'.md5($tVar).'/'.$to.'/'.$confirmationcode.'/'.md5($to);
// to fetch the email template
$queryET = "SELECT * FROM emailtemplates WHERE type = 'registration_confirmation'";
$resultET = mysql_query($queryET) or die(mysql_error());
$rowET = mysql_fetch_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-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: boobloom.com <".SITE_MAIL.">\r\n";
mail($to, $subject, $message, $headers);
}
如需瞭解這種類型的問題 –
omnath的服務器管理員,看來你,因爲這告訴你什麼沒讀過錯誤信息問題是,它與用戶電子郵件ID無關。其次,你沒有告訴我們代碼所在的文件,因爲錯誤指定了class.Utility.inc.php,但是我們可以查看與我們所知的任何代碼無關的代碼。 – Ryan