การส่ง mail ด้วย asp
เว็บเพจสำรอง (Backup Webpages) : http://www.thaiall.com/asp/sndmaill.htm | http://www.thaiabc.com/asp/sndmaill.htm
ปรับปรุง : 2548-02-08 ()
[ การส่ง mail ด้วย asp ]

  1. ข้อควรทราบ
  2. โปรแกรม asp สั้น ๆ เพื่อส่ง mail (แต่แก้ไขค่าอะไรไม่ได้ เมื่อ run แล้วจะส่งทันที)
  3. ฟอร์มที่เขียนใน html เพื่อสั่งให้ส่งค่า ซึ่งสามารถระบุผู้รับ และ message ได้
  4. โปรแกรม asp ที่ใช้รับค่าจาก form ทำหน้าที่ส่ง mail ไปให้ผู้รับที่กำหนด
  5. แบบฝึกหัด
ข้อควรทราบ
  1. ผมเขียนบทเรียนนี้ได้ เพราะเข้าไปอ่านเรื่อง mail ของคุณป้อมที่ aspbuilder.webhostme.com ซึ่งเขียนไว้ที่ http://aspbuilder.webhostme.com/learn/emailWebHostMe.asp เขาเขียนได้ละเอียดดีมาก พูดง่าย ๆ ก็คือผมไปลอกเขามานั่นหละครับ แต่เอามาปรับนิดหน่อยเท่านั้นเอง
  2. การส่ง mail ของแต่ละเว็บอาจไม่เหมือนกันทุกที่นะครับ เช่นใช้ได้กับที่ webhostme แต่อาจเอาไปใช้กับที่อื่นไม่ได้ ถ้าจะให้ได้ก็ลองส่ง code โปรแกรมส่ง mail ไปให้ webmaster ของเว็บนั้น ถ้าเขาใจดีก็จะแก้เป็น syntax ที่ถูกต้องแล้วส่งกลับมาให้เราแก้ไขได้
  3. บทเรียนนี้ประกอบด้วย 3 แฟ้ม แต่จริง ๆ แล้ว เห็น source code ตัวแรกท่านก็คงเข้าใจได้ทันที เพราะเป็นรูปแบบในการส่ง mail ที่ clear ส่งโปรแกรมที่ 2 เป็น html ใช่ส่งค่าจาก form และ โปรแกรม asp สำหรับรับค่าจากโปรแกรมที่ 2 สรุปว่าใช้ sndmailw.asp, sndmail.htm, sndmail.asp
  4. สรุปอีกครั้งได้ว่า
    sndmailw.asp เป็นโปรแกรมที่ run ได้เลย ไม่ต้องรอรับค่าจากใคร เมื่อ run แล้วจะส่ง mail ไปให้คนที่ระบุไว้
    sndmail.htm เป็นโปรแกรม html ที่ทำหน้าที่รอรับค่า 4 ค่าด้วย form แล้วจึงส่งไปให้โปรแกรม asp อีกที
    sndmail.asp เป็นโปรแกรม รอรับค่าจาก sndmail.htm เมื่อได้รับค่าแล้ว จะส่ง mail ตามค่าที่รับมานั้น
  5. เห็นคุณป้อม จาก aspbuilder.webhostme.com บอกว่า ถ้าเกิด error ตามข้างล่างนี้แสดงว่าเป็นจาก server มีปัญหา ไม่ได้เกิดจากโปรแกรมผิดพลาด เรา ท่าน ก็หวังว่าจะไม่เกิดขึ้น ผมทดลองก็ไม่เห็นเกิดนะครับ
      error '800401f7'
      Some error in application program
      /mailtoEveryone.asp, line 11

โปรแกรม asp สั้น ๆ เพื่อส่ง mail
(แต่แก้ไขค่าอะไรไม่ได้ เมื่อ run แล้วจะส่งทันที)
ผลลัพธ์ที่ต้องการ Source code ของ sndmailw.asp
Mail จะส่งไปถึง webmaster@thaiall.com และ burin@yonok.ac.th โดยจ่าหน้าซองผู้ส่งว่า test@thaiabc.com จะส่งคำว่า hello this is subject เป็นคำที่อยู่ในส่วนของ subject และ This is the messages. เป็นข้อความ
<%
Set SMTPObj = CreateObject("WebHostMeMail.SMTP")
SMTPObj.SMTPServer = "Mail.webhostme.com"
SMTPObj.ToAdd = "webmaster@thaiall.com,burin@yonok.ac.th"
SMTPObj.FromAdd = "test@thaiabc.com"
SMTPObj.Subject = "hello this is subject"
SMTPObj.Body = "This is the messages."
SMTPObj.Connect
result = SMTPObj.EMail
Response.write "Sent " & result
SMTPObj.Quit
%>

ฟอร์มที่เขียนใน html เพื่อสั่งให้ส่งค่า
ซึ่งสามารถระบุผู้รับ และ message ได้
ผลลัพธ์ที่ต้องการ Source code ของ sndmail.htm
To email :
From email :
Subject :


<body>
<form method=post action=http://thaiall.webhostme.com/sndmail.asp>
To email : <input type="text" name=toadd><br>
From email : <input type="text" name=fromadd><br>
Subject : <input type="text" name=subj><br>
<textarea name=body cols=40 rows=6></textarea><br>
<input type=submit value=send>
<input type=reset value=reset><br>
</form>
</body>

โปรแกรม asp ที่ใช้รับค่าจาก form
ทำหน้าที่ส่ง mail ไปให้ผู้รับที่กำหนด
ผลลัพธ์ที่ต้องการ Source code ของ sndmail.asp
โปรแกรมนี้จะรับค่าจากตัวแปร 4 ตัว
แล้วนำค่าทั้ง 4 ไปเป็นค่ากำหนดในการส่ง mail
คือ toadd, fromadd, subj และ body
<%
Set SMTPObj = CreateObject("WebHostMeMail.SMTP")
SMTPObj.SMTPServer = "Mail.webhostme.com"
SMTPObj.ToAdd =  request.form("toadd")
SMTPObj.FromAdd =  request.form("fromadd")
SMTPObj.Subject =  request.form("subj")
SMTPObj.Body = request.form("body")
SMTPObj.Connect
result = SMTPObj.EMail
Response.write "Sent " & result
SMTPObj.Quit
%>

แบบฝึกหัด
    ให้ทำตามโจทย์ต่อไปนี้
  1. ให้เขียนโปรแกรมตามตัวอย่างข้างบนนี้ ให้ใช้งานได้
  2. ให้ทดลองทำระบบ mailling list ดูนะครับ

แนะนำเว็บใหม่ : ผลการจัดอันดับ
รักลำปาง : korattown.com : topsiam.com : มหาวิทยาลัยโยนก
ศูนย์สอบ : รวมบทความ : ไอทีในชีวิตประจำวัน : ดาวน์โหลด : yourname@thaiall.com
ติดต่อ ทีมงาน ชาวลำปาง มีฝันเพื่อการศึกษา Tel.08-1992-7223