asp ใช้ cdonts ส่งเมล ไม่มี error แต่...ไม่มีอีเมลเข้า
ลองเข้าไปดูใน Queue ครับ มีอีเมล์อยู่หรือเปล่าครับ ถ้ามีแสดงว่าอาจจะติดพวก Firewall ของ Network ครับ
อาจจะต้องแจ้งให้ Admin ทราบถึงปัญหานี้
Date :
2013-01-22 11:02:10
By :
mr.win
แล้วแบบนี้จะต้องแก้ปัญหายังไงครับ คือเราต้องแจ้งให้ทางแอดมินปิด firewall อย่างเดียวเลยใช่มั้ยครับ
Date :
2013-01-22 11:29:37
By :
golf7626
มันมีอีเมล์อยู่ใน C:\inetpub\mailroot\queue หรือเปล่าครับ ถ้ามีลองแจ้งไปยัง Admin ดูครับ
หรือสอบถามว่าเค้ามี Mail Server / SMTP ให้ใช้หรือไม่
Date :
2013-01-22 12:30:45
By :
mr.win
สอบถามแล้วครับ ได้ความว่า ภายในสถาบันไม่มี mail Server ครับ เช่าภายนอก
สรุปง่ายๆว่า ที่สถาบันมีแต่ web server ส่วน mail server เช่าภายนอกครับ แล้วปัญหาส่งเมลแล้วไม่มีอีเมลเข้าแบบนี้จะมี solution ยังไงได้บ้างครับ รบกวนด้วยนะครับ (แต่ผมลอง cc อีเมลเข้าเมลผมมันก็มีอีเมลเข้าปกตินะครับ)
Date :
2013-01-23 11:27:55
By :
golf7626
อ่อ แล้วก็อีเมลที่อยู่ใน C:\inetpub\mailroot\queue เค้าบอกว่าตอนกดส่งมันจะโผล่มาแปบบนึงแล้วมันก็หายไปครับ (เค้าบอกมาแบบนี้)
Date :
2013-01-23 11:30:37
By :
golf7626
ลองใช้สคริปต์ตัวบนดูแล้วครับ
ปรากฎว่า มีปัญหาเรื่องการเชื่อมต่อ mail server ครับ
ในขั้นแรก ผมลองตั้งค่าการเชื่อมต่อตามสริปต์ด้านล่าง
Code (ASP)
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
<%@LANGUAGE="VBSCRIPT" CODEPAGE="874"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title>Untitled Document</title>
</head>
<body>
<%
On Error Resume Next
Dim iMsg, iConf, Flds
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/cdo/configuration/"
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.mail.go.th"
Flds.Item(schema & "smtpserverport") = 465
Flds.Item(schema & "smtpauthenticate") = 1
Flds.Item(schema & "sendusername") = "[email protected] "
Flds.Item(schema & "sendpassword") = "xxx"
Flds.Item(schema & "smtpusessl") = 1
Flds.Update
With iMsg
.To = "[email protected] "
.From = "[email protected] "
.Subject = "Test send with [email protected] account"
.HTMLBody = "Test Send From Web Server xxx "
.Sender = "info"
.Organization = "info"
.ReplyTo = "[email protected] "
Set .Configuration = iConf
SendEmailGmail = .Send
End With
set iMsg = nothing
set iConf = nothing
set Flds = nothing
if Err.Number <> 0 then
response.Write("ERROR: ")
response.Write(Err.Description)
else
response.Write("OK")
end if
%>
</body>
</html>
ผลลัพธ์ที่ได้คือ เกิด error แจ้งว่า :
The transport failed to connect to the server.
หลังจากนั้นผมได้ลองเปลี่ยนการตั้งค่าเชื่อมต่อเป็นดังนี้ครับ
Code (ASP)
Flds.Item(schema & "sendusing") = 2
Flds.Item(schema & "smtpserver") = "smtp.mail.go.th"
Flds.Item(schema & "smtpserverport") = 25
Flds.Item(schema & "smtpauthenticate") = 2
Flds.Item(schema & "sendusername") = "[email protected] "
Flds.Item(schema & "sendpassword") = "xxx"
Flds.Item(schema & "smtpusessl") = false
คราวนี้ก็ error ครับ แต่คราวนี้ แจ้งว่า :
The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available
ไม่ทราบว่าผมตั้งค่าอะไรผิดหรือไม่ครับ? ปัญหาพวกนี้เกิดจากสาเหตุอะไรได้บ้างครับ ทำยังไงก็ยังส่งเมลไม่ได้อยู่ดีครับ ตอนนี้ชักเริ่มท้อแล้ว เห้อ...
Date :
2013-01-24 14:55:33
By :
golf7626
น่าจะติดต่อ Server ของ Gmail ไม่ได้ครับ ลองติดต่อผู้ดูแลระบบด้วยครับ Bock Port หรือว่าอะไรหรือเปล่า
Date :
2013-01-24 15:39:39
By :
mr.win
Load balance : Server 03