A-AA+then

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

1,306
อธิบายนะค่ะ คือว่าได้ทำการเขียน 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 "โปรดตรวจสอบข้อมูลให้ถูกต้อง";
    }
    ?>
     

1 ความคิดเห็น

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

                $mail->Send();
          if(!$mail->Send()) {
    
    บรรทัดแรกไม่จำเป็นครับ หากต้องการส่งและตรวจสอบว่าส่งสำเร็จหรือไม่ ใช้ บรรทัดที่มี if ก็เพียงพอครับ และ หากต้องการแยกบรรทัด ก็ให้ใช้ตัวแปรมารับค่า แล้วค่อยเอาตัวแปรไปตรวจครับ
    
    Send() คือ คำสั่งส่ง เขียน 1 ครั้ง ส่ง 1 ฉบับครับ
1
^