【发布时间】:2012-05-08 03:58:55
【问题描述】:
我有以下代码:
Set myMailanon = CreateObject("CDO.Message")
myMailanon.MimeFormatted = True
Set myConfanon = Server.CreateObject("CDO.Configuration")
Set objBPanon = myMailanon.AddRelatedBodyPart("http://www.foo.bar/img/logo1.jpg", "http://www.foo.bar/img/logo1.jpg", CdoReferenceTypeName)
objBPanon.Fields.Item("urn:schemas:mailheader:Content-ID") = "<http://www.foo.bar/img/logo1.jpg>"
objBPanon.Fields.Update
ConfURLanon = "http://schemas.microsoft.com/cdo/configuration/"
with myConfanon
.Fields.Item(ConfURLanon & "sendusing") = 2
.Fields.Item(ConfURLanon & "smtpserver") = "smtp.foo.bar"
.Fields.Item(ConfURLanon & "smtpserverport") = 25
.Fields.Item(ConfURLanon & "smtpusessl") = false
.Fields.Item(ConfURLanon & "smtpauthenticate") = 1
.Fields.Item(ConfURLanon & "sendusername") = "foo@bar.com"
.Fields.Item(ConfURLanon & "sendpassword") = "foobarpass"
.Fields.Update
end with
with myMailanon
.Subject='Foo!! Bar!!'
.From='Foo!! Bar!! <foo@bar.com>'
.To='foo@bar.com,bar@foo.com'
txt="This is foo... bar... text... SPARTAAAAAAAAA"
.HTMLBody = txt
Set .Configuration = myConfanon
On Error Resume Next
.Send
end with
问题是这段代码运行 100 次,运行 30 次,失败 70 次。随机。 “失败”是指它会导致脚本执行超时。
逐行注释后,我得出的结论是错误来自“.Send”。 但为什么?有什么想法吗?
问候
【问题讨论】:
-
可能是外部资产之一未加载。比如foo.bar/img/logo1.jpg,或者SMTP服务器繁忙或不可用。
-
我还没有提到资产加载,我会确保在我的代码中注释所有这些。关于 SMTP 是总线,你是什么意思?就像 CDO 尝试连接 SMTP 并超时?如果是这样,那应该用连接超时来解决,对吧?
标签: email asp-classic smtp