พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
ASP programming / การส่งEmail
korakot_titla
korakot_titla
Mon 4 Sep 2006 09:41:45

รบกวนหน่อยนะครับคือผมได้ไปอ่าน Articles ที่ทำการส่ง email แต่เป็น asp.net รบกวนพี่ทีมงานช่วยเขียนบทความการส่งอีเมล์โดยใช้ภาษา asp หน่อยจะได้หรือป่าวครับ ขอบคุณมากครับ

Administrator
Mon 4 Sep 2006 10:45:26
การส่ง email ใน ASP นั้นจะต้องดูว่ามี component ใดรองรับครับ ซึ่ง ASP ก็มี CDOSYS เป็น mail component ที่ built-in มาด้วยครับ การใช้งานก็

<%
Set objMail = CreateObject("CDO.Message")
objMail.Subject = "Sending email with CDO"
objMail.From = "mymail@mydomain.com"
objMail.To = "someone@somedomain.com"
objMail.TextBody = "This is a message."
objMail.Send
set objMail = nothing
%>

ส่วนการส่งในรูปแบบ HTML ก็

<%
Set objMail = CreateObject("CDO.Message")
objMail.Subject = "Sending email with CDO"
objMail.From = "mymail@mydomain.com"
objMail.To = "someone@somedomain.com"
objMail.HTMLBody = "<h1>This is a message.</h1>"
objMail.Send
set objMail = nothing
%>

ถ้าต้องการแนบ CC และ BCC ก็ใส่
objMail.Bcc = "someoneelse@somedomain.com"
objMail.Cc = "someoneelse2@somedomain.com"

หรือถ้าต้องการส่งเว็บเพจก็ให้เปลี่ยน
objMail.HTMLBody หรือ objMail.TextBody เป็น
objMail.CreateMHTMLBody "http://forum.modoeye.com/module12-418.html"

หรือถ้าต้องการแนบไฟล์ไปก็เพิ่ม
objMail.AddAttachment "C:\image.jpg"
korakot_titla
korakot_titla
Wed 27 Sep 2006 16:58:36

รบกวนอีกนิดนะครับ

คือเกิด Error บรรทัดที่ 15
if not rs.EOF then
      do while not rs.EOF
            Set ObjMail=server.CreateObject("CDONTS.NewMail")'Error ตรงนี้ครับ
            ObjMail.From=Request.Form("subject1")
            ObjMail.To=rs("email")
            ObjMail.Subject=Request.Form("subject2")
            ObjMail.ContentBase=""
            ObjMail.Body=text
            ObjMail.BodyFormat=0
            ObjMail.MailFormat=0
            ObjMail.Send
            Set ObjMail=Nothing
      rs.MoveNext
      loop
      Response.Redirect "form_mail.asp"
end if

แล้วมีข้อความฟ้องมาตามนี้ครับ

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid class string
/SendEmail/Send_Mail.asp, line 15

ผมไม่ทราบว่าเป็นเพราะอะไรเหรอครับ หรือต้องมี component รบกวนหน่อยนะครับ

อีกอย่างนะครับโค้ดตามที่พี่ๆทีมงานให้มานี่ส่งไปแล้วแต่ไม่ได้รับรบกวนอีกหน่อยนะครับ

ขอบคุณมากครับ

Administrator
Wed 27 Sep 2006 19:55:28
1. อาจจะเป็นไปได้ว่า component ยังไม่ได้ถูก register ครับ
2. user ที่ใช้ในการ execute asp นั้นไม่มี permission ในการสร้าง component ครับ

ผมต้องขออภัยด้วยครับ ตามโค๊ดข้างบนน่าจะส่งได้ปกตินะครับ
korakot_titla
korakot_titla
Fri 29 Sep 2006 09:59:59

คือตอนนี้ผมลองนำโค้ดดังกล่าวไปวางไว้บน server แล้วพอรันก็รันได้นะครับไม่มี error แต่ทำไมส่งแล้วไม่ได้รับเมล์หรือว่าส่งไม่ได้ผมลองส่องเข้าเมล์ตัวเองดูนะครับ ช่วยรบกวนอธิบายหน่อยนะครับ แล้วเราสามารถดู component ได้อย่างไรบ้างครับ ขอบคุณมากครับ

korakot_titla
korakot_titla
Fri 29 Sep 2006 10:45:58

ผมได้อ่านตามบอร์ดต่างๆเค้าบอกว่าได้ตัว component นั้นจะติดมากับวินโดว์เลยแต่แน่นอนเลยว่าเครื่องผมไม่มีแนเพราะรันโปรแกรมทีรัยจะฟ้อง Error ตรงส่วนนี้ตลอดซึ่งผมก็ได้ลง IIS แล้วด้วยเหมือน ผมสามารถทำการเช็คได้อย่างไรว่าผมเครื่องผมมี component ที่สามารถส่งเมล์แบบ CDONTS.NewMail แล้วถ้าหากไม่มีสามารถทำการดาว์โหลดแล้วทำการติดตั้งได้อย่างไรบ้างครับ
รบกวนอีกทีนะครับ

Administrator
Sun 1 Oct 2006 02:28:59
ไม่ทราบว่าในเครื่องได้ทำการติดตั้ง mail server หรือยังครับ เนื่องจาก CDONT นั้นเป็น component ที่ต้องส่งเมล์ผ่าน SMTP Server ครับ

ส่วนที่ว่าส่งแล้วไม่ได้รับนั้นอาจจะต้องสอบถามทางผู้ให้บริการครับ ว่าเกิดจากสาเหตุใด เนื่องจากผู้ให้บริการแต่ละราย จะมีการตั้งค่าต่างๆไม่เหมือนกันครับ

ส่วนการ list asp information นั้นลองทดลองเหล่านี้ดูครับ ไม่แน่ใจว่าจะตรงใจหรือไม่ ผมไม่ได้ทดลองนะครับ
http://www.onewaymule.org/onewayscripts/scripts/aspinfo/#features
http://www.aspit.net/code/libraries/aspinfo.asp
http://atuin.frontier.fr/~fosco/aspinfo.asp
korakot_titla
korakot_titla
Tue 3 Oct 2006 13:23:49

ผมยังงงอยู่ทำไมถึงส่งไม่ได้ซึ่งตอนนี้เครื่องผมลง iis แล้วและก็ได้ทำการติดตั้ง component ของ cdont ที่ชื่อว่า cdonts.dll ไว้ใน system32 แล้วหลังจากนั้นผมก็รีสตาร์ทเครื่องพอหลังจากนั้นก็ลองรันโปรแกรมอีกทีก็สามารถแล้วลองส่งดูก็ไม่ติด Error ซึ่งก่อนหน้านั้นที่ยังไม่ได้ลง cdonts.dll มันจะ error ซึ่งพอรันแล้วไม่ติด error ก็คือส่งไปแล้ว แต่ทำไมอีเมล์ที่ส่งมาไม่ถึงครับ ไม่ทราบว่าเกิดจากปัญหาอะไรเหรอครับ หรือผมต้องไปเซตเครื่องอะไรเพิ่มเติมอีกรบกวนพี่ๆทีมงานอีกรอบนะครับ

ของคุณมารครับ

Administrator
Tue 3 Oct 2006 18:28:31
component เหล่านี้ไม่สามารถส่งเมล์ได้ด้วยตัวมันเองครับ เหมือนกับการเขียนในภาษาอื่นๆ จะต้องมี service ของ SMTP เพื่อใช้ในการส่ง E-mail ด้วยครับ
korakot_titla
korakot_titla
Wed 4 Oct 2006 13:35:18

ตอนนี้ผมเปลี่ยนมาใช้ Jmail แล้วซึ่งเมื่อผมลอลรันโปรแกรมที่ใช้ในการส่งเมล์ก็สามารถส่งได้นะครับแต่พอผมมาทำการรันโปรแกรมภายในองค์กรที่ผมทำงานอยู่ทำไมถึงส่งแล้วถึงไม่ได้รับเมล์ครับ ซึ่งผมได้ทำการเซต service ของ SMTP แล้วนะครับ มันมีส่วนหรือป่าวครับที่จะถูก Router ป้องกันไว้ไม่ให้ส่ง ถ้าเป็นอย่างที่สมมุติฐานเราสามารถแก้ไขได้อย่างไรดีครับ ซึ่งเครื่องที่ผมทดลองส่งแล้วส่งได้(ภายนอกองค์กร)ไม่มี Router ซึ่ทำการต่อตรงมาจากModem เลยครับ ผมรบกวนช่วยอธิบายให้ผมหน่อยนะครับ

ขอบคุณมากครับ

Administrator
Wed 4 Oct 2006 14:13:05
ถ้าคุณมี service SMTP แล้วให้ลองสร้าง USER แล้วลอง config outlook เพื่อทดลองส่งออกดูครับว่าไปหรือไม่ หรือไม่ลองทำการตรวจสอบ log ของ smtp service ดูครับว่ามีการ delivery ไปยังปลายทางหรือไม่ครับ
ส่วนถ้ามีการ block ของ router นั้นก็ทำเพียงทำการเปิด port 25 ที่ตัว router ครับ
korakot_titla
korakot_titla
Wed 4 Oct 2006 16:00:49

ตอนนี้ผมได้ลองเช็คดูโดยใช้ Outlook ส่งข้อมูลออกไปข้างนอกแต่ก็ส่งไม่ได้เหมือนกันแล้วผมก็ไปตรวจสอบดูอีก Server หนึ่ง(แอบดู) เป็นเซิฟเวอร์ที่ใช้ในการรับส่งอีเมล์จากภายนอกแล้วผมก็ลองใส่ mail server นั้นดูแล้วแต่กลับส่งไม่ได้ ตามที่ผมคิดนะครับผมต้องให้เค้าทำการ Relay แล้วเพิ่ม IP เครื่องผมเพื่อให้สามารถส่งออกไปได้ใช่หรือป่าวครับ แต่ถ้าเป็นเช่นนั้นผมไม่อยากจายุ่งกะ Server ของเค้านะครับเดวจาหาว่ายุ่งอีก ถ้าสมสันนิฐานถูกพี่ทีมงานผมรบกวนช่วยหาวิธีหรือแนะนำผมหน่อยนะครับ หรือไม่ก็รบกวนแนะนำ Mail Server ฟรีให้ผมหน่อยก็ดีนะครับ

ขอบคุณมากนะครับ

Administrator
Wed 4 Oct 2006 17:10:24
ที่ผมเห็นก็จะมี hMailServer ที่น่าใช้ที่สุดครับ แต่ยังไม่ได้ลองติดตั้งดูครับ
natt
natt
Wed 31 Jan 2007 21:55:09

CC. คือไรหรอครับ

Administrator
Wed 31 Jan 2007 22:31:44
CC (Carbon Copy) คือการสำเนาส่งไปยังอีเมล์ที่ระบุครับ
BCC (Black Carbon Copy) คือการแอบสำเนาถึงอีเมล์ที่ระบุครับ
asp
asp
Thu 10 Jan 2008 11:42:34
ขอบคุณมากครับ สำหรับ code
mail
mail
Fri 15 Feb 2008 12:02:53
เกิดปัญหาว่าส่งแล้วไม่ได้รับเหมือนกัน ทำไงดี
webmaster
webmaster
Fri 15 Feb 2008 16:29:05
ตรวจสอบดูที่ smtp ของคุณครับว่ามีเมล์ตกค้างหรือไม่ ตรวจสอบ log ของ smtp ครับว่ามีปัญหาใด
mail
mail
Sat 16 Feb 2008 11:53:05

จะตรวจสอบได้จากที่ไหน รบกวนขอขั้นตอนด้วยได้รึป่าว เพิ่งเคยเขียนครั้งแรกน่ะ

webmaster
webmaster
Sun 17 Feb 2008 11:38:16
ต้องดูว่าคุณใช้ smtp ตัวไหนครับลองอ่านเอกสารของเขาดูครับ
korakot_titla
korakot_titla
Mon 10 Mar 2008 19:59:06

รบกวนหน่อยนะครับคือตอนนี้ผมกลับมาดูโค้ดในการส่งเมล์อันเดิม(ข้างบนสุด)ผมได้ลองแล้วสามารถส่งได้แต่เมล์บริษัทของผมเท่านั้นแต่ถ้าลองส่งออกไปทาง yahoo หรือ hotmail ไม่สามารถส่งได้เลยครับเปนเพราะสาเหตุอะไรเหรอครับ หรือว่าต้องเพิ่มโค้ดอะไรเข้าไปอีกรบกวนพี่ๆทีมงานอีกทีนะคับ ขอบคุณมากคับ

webmaster
webmaster
Mon 10 Mar 2008 21:40:40
ถ้าส่งถึง account ใน server ได้แต่ไม่สามารถส่งออกได้ ให้ลองตรวจสอบ SMTP ดูครับ ลองอ่าน log ดูว่าเกิดอะไรขึ้น เนื่องจาก asp ก็จะเหมือน php เมื่อมีการสั่งให้ส่งจะทำการส่งค่าไปยัง SMTP server ให้ทำการส่งไปยังปลายทางอีกที ดังนั้นให้ลองไล่ log ดูครับว่าเกิดปัญหาใดครับ
thanu
thanu
Wed 26 Mar 2008 15:41:37

การไล่ log คือให้ไล่ในส่วนไหน   ถ้าส่วนของ SMTP Server ขอถามต่อว่า SMTP ที่เครื่องไหนเครื่องเราหรือเครื่อง Mail Server ครับ (กรณีบริษัทมีเครื่อง mail server ของ linux ครับ)

webmaster
webmaster
Thu 27 Mar 2008 10:03:31
ถ้ามี SMTP Server มี relay server ก็ต้องดู log ทั้ง 2 ที่ครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login