2012-12-01 3 views
1

저는 PHP로 사용자 등록 및 이메일 확인 페이지를 만들려고합니다. 이 코드는 사용자를 등록하고 확인 이메일을 전송하는 코드입니다. 모든 것이 잘 실행되고 사용자를 데이터베이스에 등록하지만 사용자에게 전자 메일을 보내지는 않습니다. 코드를 heres. PHP와 함께 제공되는 메일() 함수를 사용하여PHP 확인 이메일이 전송되지 않습니다

<?php 

include('sqlconfig.php'); 

$tbl_name=temp_users; 

/*Email Confirmation Code*/ 
$confirm_code=md5(uniqid(rand())); 

$Email=mysql_real_escape_string($_POST['email']); 
$First_Name=mysql_real_escape_string($_POST['firstname']); 
$Last_Name=mysql_real_escape_string($_POST['lastname']); 
$Password=mysql_real_escape_string($_POST['password']); 
$Confirm_pass=mysql_real_escape_string($_POST['conpassword']); 
$Phone=mysql_real_escape_string($_POST['phone']); 

/*Insert the data into the base*/ 
$sql = 'INSERT INTO temp_users(confirm, FirstN, LastN, password, confirmpassword, phone, email) 
VALUES("'.$confirm_code.'", "'.$First_Name.'", "'.$Last_Name.'", "'.$Password.'", "'.$Confirm_pass.'", "'.$Phone.'", "'.$Email.'")'; 
$result=mysql_query($sql); 

/*If data succesfully inserted proceed with this*/ 
if($result){ 

/*Send Email here*/ 
$to=$Email; 

$subject="Newgenstudios Account Confirmation"; 

/*From*/ 
$header="From:Newgenstudios <[email protected]>"; 

/* Your message */ 
$message="Welcome to Newgenstudios! Thank you for registering. \r\n"; 
$message="Here is your Comfirmation link \r\n"; 
$message.="Click on this link to activate your account \r\n"; 
$message.="http://www.newgensv01.dyndns.org/confirmation.php?passkey=$confirm_code"; 
$message="Account Details: \r\n"; 
$message="Name: $First_Name $Last_Name \r\n"; 
$message="Email: $Email \r\n"; 
$message="Password: $Password \r\n"; 
$message="Phone: $Phone \r\n"; 
$message="\r\n"; 
$message="Did you not register? Then please disregard this message. \r\n"; 

/* Send Email */ 
$sentmail = mail($to,$subject,$message,$header); 
} 

/*If not found*/ 
else { 
echo "Not found your email in our database"; 
} 

/* email succesfully sent */ 
if($sentmail){ 
echo "Your Confirmation link Has Been Sent To Your Email Address."; 
} 
else { 
echo "Cannot send Confirmation link to your e-mail address"; 
} 
?> 

답변

0

은 쉽게 스팸으로 표시되기 때문에 이메일을 보내는 좋은 방법이 아니며, 당신은 당신이 제대로 HTML 이메일을 보낼 수 있도록 set up header해야합니다.

그래서 난 당신이 다른 마임 유형 및 SMTP 인증

에 대한 HTML 지원, 지원이 PHPMailer 또는 SwiftMailer 한 번 봐 걸릴 제안
관련 문제