在客户端服务器上,我们有一个小脚本,可以在订单结束时发送一封电子邮件,就在关闭它之前。
直到昨天一切正常,但突然间,页面给出了一个通用的 500 错误。所以我从页面底部开始发现,如果我将 response.end 放在 cdo 邮件功能的 .send 之前,则页面可以正常工作:
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "mail.theserver.com"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous '0
Flds.Update
With iMsg
Set .Configuration = iConf
.To = "mymail@mail.com"
.From = "amail@mail.gov"
.Sender = ""
.Subject = "test"
.HTMLBody = "TEST"
RESPONSE.END()
.Send
End With
在页面的开头也有两行:
<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Type Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->
好吧,我已经做了一些测试,将一些脚本用于发送与这个略有不同的电子邮件,但似乎没有任何效果。有人知道测试 cdosys 的方法吗?一些东西。我不知道,返回版本......或选项列表......好吧,这让我知道错误在服务器上(所以我可以打电话给他们并告诉他们“嘿,这不是我的错“)……?
编辑:由于页面只给出 500 错误,有没有办法让服务器返回更具体的错误代码?我无法访问服务器,但只能访问 ftp(所以只有经典的 asp)
编辑2:我添加了这个代码:
on error resume next
.Send
If Err.Number <> 0 Then
Response.write(Err.Number)
response.write("<br>")
response.write(Err.description)
end if
它给出了这个信息:
-2147220975 邮件服务器 SMTP 不可能。Codice errore di trasporto: 0x800ccc6f。Risposta del server: 554 由于发送 MTA 的声誉不佳,您对该邮件系统的访问已被拒绝。