6

当我尝试通过本地服务器发送时出现此错误

CDO.Message.1 error '80070005' 

Access is denied. 

/mail.asp, line xxx 

这是我正在使用的代码

  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 

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

但是我们已经检查过,并且该站点使用的服务帐户似乎具有权限。

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

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

还应该注意什么来解决这个问题?

4

3 回答 3

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
于 2010-06-07T14:01:07.697 回答
4

如果您不想更改代码

授予IIS_IUSRS 组对c:\inetpub\mailroot\Pickup文件夹或任何取件目录的写入权限。

它必须是IIS_IUSRS Group,而不是IUSR User(你可能拼错了)。

在执行blog.msdn.com的选项 3 中指定的步骤后,我收到此错误

我不必更改 ASP 代码。您的代码在我的服务器上运行良好。

于 2014-07-16T11:07:29.013 回答
0

我正在将一些旧的经典 asp 站点迁移到新的(windows 2008R2)服务器,我遇到了“完全相同”的问题(至少同样的错误和基本相同的代码)。Gaby 提出的解决方案:

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"

对我不起作用,我仍然有同样的错误。

经过一番搜索,我发现了这个建议:

myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" 

(不要设置 smtpserverpickup 目录)

现在它工作正常。

顺便说一句,如果您需要在 Windows 2008 服务器(IIS7)上设置必要的 SMTP 服务,我发现这个博客非常有帮助。

更新:

根据microsoft sendusing = 1 使用 SMTP 服务器和 sendusing 2 使用 Outlook Express,我查看了服务器,似乎没有安装 Outlookexpress 或 windows 邮件,但此设置对我仍然有效。如果有人能解释一下,我很想知道。

于 2013-11-22T12:58:51.743 回答