CDO.Message.1错误'80070005'访问被拒绝.

Pbe*_*rne 6 iis-7 cdo.message asp-classic

我尝试通过本地服务器发送时收到此错误

CDO.Message.1 error '80070005' 

Access is denied. 

/mail.asp, line xxx 
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的代码

  MailBodyText = "TEST"

  Set objNewMail = CreateObject("CDO.Message")
  objNewMail.To =  sSendTo
  objNewMail.From = "webmaster@EXAMPLE.com"
  objNewMail.Cc = "webmaster@EXAMPLE.com"
  objNewMail.Subject =  "Information Request & Feedback"
  objNewMail.HTMLBody = "The following information was sent from " & sEmail & ":" & "<br>" & CHR(13) & MailBodyText & "<br>copies of this mail we sent to :"& sSendTo
  objNewMail.Send

  Set objNewMail = Nothing 
Run Code Online (Sandbox Code Playgroud)

看起来它是ISSUR上的权限错误,没有写入mailroot/pickup文件夹的写入权限.

但我们已经检查过,该网站正在使用的服务帐户似乎拥有这些权利.

问题是这个错误总是文件权限错误?

问如何知道/设置CDO使用的位置?所以我们可以确认权限

还有什么可以解决这个问题?

Gab*_*oli 5

使用.configuration允许身份验证和其他微调的属性..

示例:http://www.paulsadowski.com/wsh/cdo.htm

更新

.configuration属性允许设置拾取目录(根据您的要求)

objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
objNewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\inetpub\mailroot\pickup"
objNewMail.Configuration.Fields.Update
objNewMail.Send
Run Code Online (Sandbox Code Playgroud)