PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ
PHPMailer จะเรียกใช้ชื่ออีเมลที่อยู่ในฐานข้อมูลยังไงเพื่อเป็นต้นทางในการส่งข้อความครับ
พี่ๆครับ คือผมเจอปัญหาตรงที่ว่าตอนเเรกผมได้ใช้PHPMailerในการส่งข้อความไปยังเมลปลายทางแต่เมลปลายทางที่จะส่ง userต้องเป็นคนระบุเอง แต่เมลต้นทางนั้นผมได้เขียนไว้ในโค้ดเลยซึ่งมันทำงานได้ปกติ แต่ทีนี้ผมพึ่งคิดได้ว่าต้องรองรับการใช้งานของคนหลายคน การทำงานก็คือนักศึกษาจะส่งข้อความหาอาจารย์ ผมจะต้องแก้โค้ดยังไงให้ นศ ทุกคนนั้นสามารถส่งข้อความหาอาจารย์ได้ ตอนที่ นศ เข้าlogin จะเก็บชื่อเมลไว้ในฐานข้อมูลอยู่ แต่ไม่เก็บรหัสผ่าน แต่โค้ดPHPMailerต้องใช้ ชื่อเมลและรหัสผ่านของผู้ส่ง ขอคำแนะนำหน่อยครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <?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" > <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <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> $( 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> |

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

ขอบคุณทุกการสนับสนุน
![]()