PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ

PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ
พี่ๆครับ คือผมเจอปัญหาตรงที่ว่าตอนเเรกผมได้ใช้PHPMailerในการส่งข้อความไปยังเมลปลายทางแต่เมลปลายทางที่จะส่ง userต้องเป็นคนระบุเอง แต่เมลต้นทางนั้นผมได้เขียนไว้ในโค้ดเลยซึ่งมันทำงานได้ปกติ แต่ทีนี้ผมพึ่งคิดได้ว่าต้องรองรับการใช้งานของคนหลายคน การทำงานก็คือนักศึกษาจะส่งข้อความหาอาจารย์ ผมจะต้องแก้โค้ดยังไงให้ นศ ทุกคนนั้นสามารถส่งข้อความหาอาจารย์ได้ ตอนที่ นศ เข้าlogin จะเก็บชื่อเมลไว้ในฐานข้อมูลอยู่ แต่ไม่เก็บรหัสผ่าน แต่โค้ดPHPMailerต้องใช้ ชื่อเมลและรหัสผ่านของผู้ส่ง ขอคำแนะนำหน่อยครับ 

<?php
    $msg = "";
	use PHPMailerPHPMailerPHPMailer;
	include_once "PHPMailer/PHPMailer.php";
	include_once "PHPMailer/Exception.php";
	include_once "PHPMailer/SMTP.php";

	if (isset($_POST['submit'])) {
        $student_name = $_POST['textname'];
        $email = $_POST['textemail'];
		$m = '<B>'.'<div>รหัสนักศึกษา:</div></B>'.'<p>'.$_POST["textnumber"].'</p> 
					 
                    <B>'.'<div>ชื่อนักศึกษา:</div></B>'.'<p>'.$_POST["textname"].'</p>
                    
                    <B>'.'<div>วันที่นัดหมายอาจารย์:</div></B>'.'<p>'.$_POST["textdate"].'</p>

                    <B>'.'<div>เวลาที่นัดหมายอาจารย์:</div></B>'.'<p>'.$_POST["texttime"].'</p>

                    <B>'.'<div>ประเภทคำปรึกษา:</div></B>'.'<p>'.$_POST["textcategory"].'</p>
                    
                    <B>'.'<div>ปีการศึกษา:</div></B>'.'<p>'.$_POST["textyear"].'</p>

					<B>'.'<div>ข้อความถึงอาจารย์:</div></B>'.'<p>'.$_POST["textmessage"].'</p>';


		$mail = new PHPMailer();				//เรียกใช้งาน class phpmailer
		$sender = "xxxxxxxxxxx@gmail.com";		//กำหนด mail ผู้ส่งเก็บไว้ในตัวแปร
		//if we want to send via SMTP
		$mail->Host = "smtp.gmail.com";			//mail server ของเรา
		$mail->CharSet = "utf-8";				//ในส่วนนี้ ถ้าระบบเราใช้ tis-620 หรือ windows-874 สามารถแก้ไขเปลี่ยนได้                         
		$mail->isSMTP();						//เปิดการใช้งาน SMTP
		$mail->SMTPAuth = true;					//เลือกการใช้งานส่งเมล์ แบบ SMTP
		$mail->Username = $sender;				//account e-mail ของเราที่จะใช้ส่ง
		$mail->Password = "xxxxxxxxxxxxxxxx";	//รหัสผ่าน e-mail ของเราที่ต้องการจะส่ง
		$mail->SMTPSecure = "tls"; 				//TLS
		$mail->Port = 587; 						//587

		$mail->addAddress($_POST["textemail"]);		//Email ปลายทางที่เราต้องการส่ง(ไม่ต้องแก้ไข)
		$mail->setFrom($sender);				//กำหนด E-mail และชื่อผู้ส่ง
		
		$mail->Subject =$student_name;  		//หัวข้อที่จะส่ง(ไม่ต้องแก้ไข)
        $mail->isHTML(true);					//ถ้า E-mail นี้ มีข้อความในการส่งเป็น tag html ต้องแก้ไข เป็น true
        
		$mail->Body = $m; 				        //ข้อความ ที่จะส่ง(ไม่ต้องแก้ไข)
		
        if($mail->Send())                       //Send an Email. Return true on success or false on error
        {
         $msg = '<div class="alert alert-success">บันทึกข้อมูลเรียบร้อยแล้ว</div>';
        }
        else
        {
         $msg = '<div class="alert alert-danger">เกิดข้อผิดพลาด!</div>';
        }
       }
       
       ?>
       
    <!DOCTYPE html>
       <html>
        <head>
         <title>Send Teacher Mail</title>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         <meta name="viewport" content="width=device-width, initial-scale=1">
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
         <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>



        <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
        <link rel="stylesheet" href="/resources/demos/style.css">
        <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
        <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

            <script>
            $( function() {
                $( "#datepicker" ).datepicker({ dateFormat: 'yy-mm-dd' });
            });

            </script> 
            <style>
                .button_submit {
                background-color: #2952a3;
                border: none;
                color: white;
                padding: 10px 15px;
                text-align: center;
                font-size: 14px;
                margin: 2px 1px;
                opacity: 0.6;
                transition: 0.3s;
                display: inline-block;
                text-decoration: none;
                cursor: pointer;
                }
                .button:hover {opacity: 1}

                .button_reset {
                background-color: #cc0000;
                border: none;
                color: white;
                padding: 10px 15px;
                text-align: center;
                font-size: 14px;
                margin: 2px 1px;
                opacity: 0.6;
                transition: 0.3s;
                display: inline-block;
                text-decoration: none;
                cursor: pointer;
                }
                .button:hover {opacity: 1}
            </style>

        </head>
        <body>
         <br />
         <div class="container">
          <div class="row">
           <div class="col-md-8" style="margin:0 auto; float:none;">
            <h1 align="center">นัดหมายอาจารย์ที่ปรึกษา</h1>
            <br /> <br />

             <?php print_r($msg); ?>
            
            <form method="post" action="sendemail02.php" enctype="multipart/form-data">
             <div class="row">
              <div class="col-md-6">
               <div class="form-group">
                <label>รหัสนักศึกษา</label>
                <input type="text" name="textnumber" placeholder="รหัสนักศึกษา.." class="form-control" autocomplete="off" required/>
               </div>
               <div class="form-group">
                <label>ชื่อนักศึกษา</label>
                <input type="text" name="textname" placeholder="ชื่อนักศึกษา.." class="form-control" autocomplete="off" required/>
               </div>
               <div class="form-group">
                <label>อีเมลอาจารย์</label>
                <input type="email" name="textemail" class="form-control" placeholder="อีเมลอาจารย์.."  required/>
               </div>


               <div class="form-group">
                <label>วันที่นัดหมายอาจารย์</label>
                <input type="text" name="textdate" id="datepicker" class="form-control" placeholder="ระบุวันที่.." autocomplete="off" required/>
               </div>


               <div class="form-group">
                <label>เวลาที่นัดหมายอาจารย์</label>
                <select name="texttime" class="form-control" required>
                 <option value="">ระบุเวลา..</option>
                 <option id="1002" name="1002" value="09.00">09.00</option>
                 <option id="1004" name="1004" value="10.00">10.00</option>
                 <option id="1006" name="1006" value="11.00">11.00</option>
                 <option id="1008" name="1008" value="12.00">12.00</option>
                 <option id="1010" name="1010" value="13.00">13.00</option>
                 <option id="1012" name="1012" value="14.00">14.00</option>
                 <option id="1014" name="1014" value="15.00">15.00</option>
                 <option id="1016" name="1016" value="16.00">16.00</option>
                 <option id="1018" name="1018" value="17.00">17.00</option>
                </select>
                </div>

              </div>
              <div class="col-md-6">
               <div class="form-group">
                <label>ประเภทคำปรึกษา</label>
                <select name="textcategory" class="form-control" required>
                 <option value="">เลือกคำปรึกษา..</option>
                 <option id="2001" name="2001" value="การเรียน">การเรียน</option>
                 <option id="2002" name="2002" value="ทุนการศึกษา">ทุนการศึกษา</option>
                 <option id="2003" name="2003" value="ปัญหาชีวิต">ปัญหาชีวิต</option>
                 <option id="2004" name="2004" value="ปัญหาสุขภาพ">ปัญหาสุขภาพ</option>
                </select>
               </div>

               <div class="form-group">
                <label>ปีการศึกษา</label>
                <input type="text" name="textyear" placeholder="ปีการศึกษา.." class="form-control" autocomplete="off" pattern="d*" required />
               </div>
               
               <div class="form-group">
                <label>ข้อความถึงอาจารย์</label>
                <textarea name="textmessage" placeholder="ข้อความถึงอาจารย์.." class="form-control" autocomplete="off" required rows="8"></textarea>
               </div>
              </div>
             </div>

            <?php
            include('connect_db.php');

          
            if (isset($_POST['submit'])) {
            $sql = "INSERT INTO appointment (student_number, student_name, email, app_date ,time_id, category_id, app_year,app_message) 
                VALUES ('".$_POST["textnumber"]."','".$_POST["textname"]."','".$_POST["textemail"]."','".$_POST["textdate"]."','".$_POST["texttime"]."','".$_POST["textcategory"]."','".$_POST["textyear"]."','".$_POST["textmessage"]."')";

            $query = mysqli_query($conn,$sql);

            if($query) {
                //echo "Record add successfully";
                }
            }
            mysqli_close($conn);
            ?>
            
              <div class="form-group" align="center">
              <button type="submit" name="submit" class="button_submit">บันทึก</button>
              <button type="reset" name="submit" class="button_reset">ยกเลิก</button>
             </div>
            </form>
           </div>
          </div>
         </div>
        </body>
       </html>




สรรชัย แสนขุรัง 18-02-2019 13:14:07

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ปกติ ค่าที่กำหนดใน SMTP account จะใช้แค่ค่าเดียว ไม่ได้ขึ่้นอยู่กับว่า เป็นของผู้ส่ง หรือผู้รับ
ดังนั้นรหัสผ่าน และอีเมลชื่อผู้ใช้ จึงใช้แค่ค่าเดียว ส่วนอีเมลผู้ส่ง หรือผู้รับ จะเป็นค่าใดๆ ก็ได้ ขึ้นอยู่กับเรา
กำหนดค่าหรือดึงค่าไหนมาใช้งาน


ninenik 18-02-2019






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ