อยากทราบว่าทำไม Email ที่เราเขียนส่ง ถึงมี 2 ฉบับใน inbox

อธิบายนะค่ะ คือว่าได้ทำการเขียน Code ส่ง Email ค่ะ แต่ว่า สงสัยว่า ทำไม กดส่งแล้ว มันเข้าไปอยู่ใน inbox ปลายทาง เป็นจำนวน 2 ฉบับ เลยอ่ะค่ะ หรือ มันทำงานส่งไป 2 ครั้ง เนื่องจาก การ ใช้ $re = mysql_fetch_array($q);  ตรงนี้หรือป่าวค่ะ ขอบคุณค่ะ




<? 


require_once("PHPMailer_v5.1/class.phpmailer.php");


require_once('includes/functions.inc.php');


$conn = new connection;


$query = new Query();


$conn->fncConnect();


$conn->fncSelectDB();


$mail = new PHPMailer(true);


 


if($_POST['uname'] != '' and $_POST['ename'] != '')


{


 


$sql = "select C_Username,C_Email,C_Password,C_Name from tb_customer where C_Username='$_POST[uname]' AND C_Email='$_POST[ename]'";


$q = mysql_query($sql);


$re = mysql_fetch_array($q);


 


        $mail->IsSMTP(); // telling the class to use SMTP


        //$mail->Timeout = 10;


            $mail->Encoding = "quoted-printable";


            $mail->CharSet = "utf-8";


          


            // send mail by gmail


            $mail->SMTPAuth = true; // enable SMTP authentication


            $mail->SMTPSecure = "ssl"; // sets the prefix to the servier


            $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server


            $mail->Port =  465; // set the SMTP port for the GMAIL server


            $mail->Username = "admin@gmail.com"; // GMAIL username


            $mail->Password = "****"; // GMAIL password


           


            //$mail->AddReplyTo($mailform, $mailform);


            $mail->AddAddress($_POST['ename'], $re['C_Username']);


            $mail->SetFrom("admin@gmail.com", "no-reply_admin@tms.com");


            $mail->Subject = "Your Forgot Password";


//$mail->Body .= "คุณทำการร้องขอ ลืมรหัสผ่าน ข้อมูลของคุณ มีดังนี้";


// $mail->Body .= "Username: ".$_POST['uname'];


// $mail->Body .= " Password: ".$re['C_Password'];


$msg = "<p>คุณทำการร้องขอ ลืมรหัสผ่าน ข้อมูลของคุณ มีดังนี้</p><br><p>Username: ".$_POST['uname']."</p><br><p>Password: ".$re['C_Password']."</p>";


            $mail->MsgHTML($msg);


            $mail->Send();


      if(!$mail->Send()) {


  echo "Mailer Error: " . $mail->ErrorInfo;


} else {  echo "โปรดตรวจสอบรหัสผ่านที่บัญชีอีเมล์คุณอีกครั้ง!"; }


}


else


{


echo "โปรดตรวจสอบข้อมูลให้ถูกต้อง";


}


?>


 

11 มิ.ย. 2554 1 1,996

555+++

คำตอบนี้ง่ายมากครับ เนื่องจากมี การส่ง 2 ครั้งครับ




            $mail->Send();


      if(!$mail->Send()) {



บรรทัดแรกไม่จำเป็นครับ หากต้องการส่งและตรวจสอบว่าส่งสำเร็จหรือไม่ ใช้ บรรทัดที่มี if ก็เพียงพอครับ และ หากต้องการแยกบรรทัด ก็ให้ใช้ตัวแปรมารับค่า แล้วค่อยเอาตัวแปรไปตรวจครับ



Send() คือ คำสั่งส่ง เขียน 1 ครั้ง ส่ง 1 ฉบับครับ

#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^