ส่งเมลไปหาคนที่อยู่ใน Mailing List
โดย: สุรัตน์ บัณฑิตลักษณะ
ที่มา: www.thaiasp.net
     Mailing List เป็นเหมือน หนึ่งเครื่องมือ สำหรับผู้สร้างเว็บไซต์ ที่ทำหน้าที่ในการแจ้งข่าวใหม่ๆ ไปยัง ผู้ที่มาเยี่ยมชมเว็บเพจของเรา เครื่องมือ นี้ ทำให้เว็บไซต์ มีลูกค้าเหนียวแน่น และ เป็นที่นิยมอย่างต่อเนื่อง หลายๆคนส่งสัยว่า เราจะส่งเมล ที่เหมือนๆ กันไปยังคน หลายๆ คนได้อย่างไร มันน่าจะยากมากกก... อาจจะต้องใช้โปรแกรม ในการส่งเมลช่วย!!! เปล่าเลยครับ Source Code มีเพียงไม่กี่บรรทัดเท่านั้นเอง
เตรียมฐานข้อมูล อีเมลที่ต้องส่ง
     ในที่นี้ ผมจะไม่กล่าวถึง การนำข้อมูลลงไปเก็บในตารางของเรานะครับ (มันจะยาวเกินไป) เอาเป็นว่า เราสรุปกันว่าเรามี ข้อมูลอีเมลทั้งหมดที่ต้องการส่งกันแล้วอยู่ใน ไฟล์ชื่อ mailinglist.mdb ตาราง mailinglist ซึ่งมีโครงสร้างดังนี้
ถ้าขี้เกียจสร้างเอง คลิกที่นี่ ครับ
สร้างฟอร์มสำหรับกรอกข้อมูล
     ฟอร์มในการกรอกข้อมูล จะเป็นฟอร์มที่ใช้ในการกรอก เนื้อความในจดหมายที่เราต้องการส่งไป ฟอร์มนี้จะประกอบไปด้วย

1. อีเมลผู้ส่ง อีเมลนี้จะเป็น อีเมลของผู้ส่งเอง ตั้งชื่อฟอร์ม input นี้ว่า fromemail
2. หัวเรื่องจดหมาย ตั้งชื่อฟอร์ม input นี้ว่า subject
3. ข้อความในจดหมาย ตั้งชื่อฟอร์ม input นี้ว่า body

ซึ่งจะได้ไฟล์ชื่อว่า mailingform.html ดังนี้
ไฟล์ mailingform.html
<form method="post" action="mailinglist.asp">
อีเมลผู้ส่ง : <input type="text" name="frommail"> <br>
หัวเรื่อง : <input type="text" name="subject"> <br>
เนื้อความจดหมาย :<br>
<textarea name="body"></textarea> <br>
<input type="submit" name="Submit" value="Submit">
</form>
     ดูผลลัพธ์จากการ run ไฟล์นี้ได้ ที่นี่ ไฟล์ mailingform.html จะส่งค่าไปยังไฟล์ mailinglist.asp เพื่อทำการส่งข้อมูลไปยังเมลที่อยู่ ในฐานข้อมูลด่อไป
ไฟล์ Mailinglist.asp วนส่งจบครบทุกคน!!!
    ในตัวอย่างนี้ ผมใช้ component JMail ในการส่งเมล นะครับ หลักการคร่าว ๆ ก็คือ นำข้อมูลออก อีเมล ที่ต้องการส่งไปหา มาจาก ฐานข้อมูล แล้ว ใส่ หัวเรื่อง กับ เนื้อความเข้า ไป จากนั้นก็ทำการส่ง แล้วก็วน กลับไปนำค่า อีเมลคนใหม่ออกมาจากฐานข้อมูลอีก จนครบทุกคน
ไฟล์ mailinglist.asp
<!--ติดต่อฐานข้อมูล-->
<%Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DRIVER={Microsoft Access Driver
      (*.mdb)};DBQ="&Server.mappath("mailinglist.mdb")
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open "mailinglist",conn
Do While Not rs.EOF%>
<!--จบการติดต่อฐานข้อมูล-->
<!--ส่งเมล-->

<%Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.thaiasp.net:25" 'อย่าลืมเปลี่ยน Mail server เวลาเอาไปใช้
JMail.Sender = Request.Form("frommail")
JMail.AddRecipient rs("email") 'เอาอีเมลผู้รับมาจากฐานข้อมูล
JMail.Subject = request.Form("subject")
JMail.Body = request.Form("body")
JMail.AppendText ""&chr(13)&"------------------------------"&chr(13)&_
" บริการส่งเมลจาก ThaiASP.net" 'เครื่องหมาย &_ หมายถึงยังไม่จบต่ออีกบรรทัด
JMail.Priority = 3
result = JMail.Execute
If Ucase(result) = "FALSE" then
status = "ไม่สามารถส่งได้"
Else
status = "ได้รับการจัดส่งเรียบร้อยแล้ว"
End If%>

<!--ส่งเมลเสร็จแล้ว-->
<!--แสดงผลในการส่ง-->
อีเมลที่ส่งให้ <%=rs("email")&" <b>"&Status&"</b>"%> <br>

<!--จบการแสดงผลในการส่ง-->
<%Jmail.Close
rs.MoveNext
Loop
rs.Close
conn.Close%>

ตัวอย่างของผลลัพธ์ในการ run ไฟล์นี้จะเป็นดังรูปภาพข้างล่างนี้ แล้วหากผู้อ่านสนใจก็สามารถ download ได้ ที่นี่ หรือไปที่ http://www.thaiasp.net/download



Home | ASP Board | Coldfusion Board | Source Code | Lesson(beginner)
Lesson(Professional) l My Jobs | E-card |About Us


Copyright © 2000 www.ThaiASP.net All rights reserved.