Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email CDO.Message.Send导致脚本执行超时_Email_Asp Classic_Smtp - Fatal编程技术网

Email CDO.Message.Send导致脚本执行超时

Email CDO.Message.Send导致脚本执行超时,email,asp-classic,smtp,Email,Asp Classic,Smtp,我有以下代码: 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/

我有以下代码:

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
Set myMailanon=CreateObject(“CDO.Message”)
myMailanon.MimeFormatted=True
设置myConfanon=Server.CreateObject(“CDO.Configuration”)
设置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”)=“”
objBPanon.Fields.Update
孔夫拉农=”http://schemas.microsoft.com/cdo/configuration/"
用麦康法农
.Fields.Item(ConfURLanon和“sendusing”)=2
.Fields.Item(ConfURLanon和“smtpserver”)=“smtp.foo.bar”
.Fields.Item(ConfURLanon和“smtpserverport”)=25
.Fields.Item(ConfURLanon和“smtpusesl”)=false
.Fields.Item(ConfURLanon和“smtpauthenticate”)=1
.Fields.Item(ConfURLanon和“sendusername”)=“foo@bar.com"
.Fields.Item(ConfURLanon和“sendpassword”)=“foobarpass”
.Fields.Update
以
和myMailanon
.Subject='Foo!!酒吧!!'
.来自='Foo!!酒吧!!'
.到foo@bar.com,bar@foo.com'      
txt=“这是foo…bar…text…spartaaaaaa”
.HTMLBody=txt
Set.Configuration=myConfanon
出错时继续下一步
.发送
以
问题是,这段代码运行100次,30次有效,70次失败。随机。 我说的“失败”是指它会导致脚本执行超时

在逐行注释之后,我得出结论,错误来自“.Send”。 但是为什么呢?有什么想法吗


关于

代码没有任何问题(尽管CdoReferenceTypeName看起来有点可疑,但可能只是变量命名不好)。可能是SMTP服务器正忙,因此需要一段时间来处理发送

您可以在IIS管理器中检查为ASP功能指定的脚本超时值。默认情况下,它应该是90秒,但可能由于某种原因,它被设置为较低的值

通过在代码中指定脚本,可以增加脚本的时间

Server.ScriptTimeout = 300
这会给你的剧本5分钟的时间。这可能掩盖了web服务器和SMTP服务器之间的一些设置问题,但可能会提高成功率。或者,您可能会得到相同的结果,但70%的故障发生的时间更长


不管是什么原因,我不认为这是您的代码。

代码没有任何问题(尽管
CdoReferenceTypeName
看起来有点可疑,但可能只是变量命名不好)。可能是SMTP服务器正忙,因此需要一段时间来处理发送

Server.ScriptTimeout = 300
您可以在IIS管理器中检查为ASP功能指定的脚本超时值。默认情况下,它应该是90秒,但可能由于某种原因,它被设置为较低的值

通过在代码中指定脚本,可以增加脚本的时间

Server.ScriptTimeout = 300
这会给你的剧本5分钟的时间。这可能掩盖了web服务器和SMTP服务器之间的一些设置问题,但可能会提高成功率。或者,您可能会得到相同的结果,但70%的故障发生的时间更长


不管是什么原因,我认为这不是您的代码。

可能是某个外部资产未加载。例如,或SMTP服务器忙或不可用。我还没有考虑过资产加载,我会确保在我的代码中注释所有这些内容。关于SMTP是总线,你是什么意思?比如CDO试图连接SMTP并超时?如果是这样的话,应该用connectiontimeout来修复,对吗?可能是一个外部资产没有加载。例如,或SMTP服务器忙或不可用。我还没有考虑过资产加载,我会确保在我的代码中注释所有这些内容。关于SMTP是总线,你是什么意思?比如CDO试图连接SMTP并超时?如果是这样,那应该用connectiontimeout来修复,对吗?在移动整个网站、更改Web服务器等之后。。。我发现问题在于CDO.Message无法连接到任何服务器。确切的代码错误是:传输无法连接到服务器。(错误“80040213”)。我尝试了几个帐户,其中一些在我的电子邮件服务器中,一些在它之外(我甚至尝试了一个gmail帐户),但都不起作用。这就像CDO。Message拒绝连接到任何服务器。此外,我的服务器(web托管在我的服务器上)以及1和1服务器上都出现了这种情况。有什么想法吗?在移动整个网站、更改Web服务器等之后。。。我发现问题在于CDO.Message无法连接到任何服务器。确切的代码错误是:传输无法连接到服务器。(错误“80040213”)。我尝试了几个帐户,其中一些在我的电子邮件服务器中,一些在它之外(我甚至尝试了一个gmail帐户),但都不起作用。这就像CDO。Message拒绝连接到任何服务器。此外,我的服务器(web托管在我的服务器上)以及1和1服务器上都出现了这种情况。有什么想法吗?
Server.ScriptTimeout = 300