首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject‘

Microsoft VBScript运行时错误:创建CDONTS.NEWMAIL时权限被拒绝:'CreateObject‘
EN

Stack Overflow用户
提问于 2014-05-16 00:52:19
回答 1查看 20K关注 0票数 1

我正在对一个用经典asp编写的网站进行修改。

我的系统是64位Windows 7。

在将网站设置为在IIS6上运行的经典asp之后,我已经能够让它运行起来。

当它试图执行下面的代码时,我得到了权限被拒绝的错误:

代码语言:javascript
复制
    from1 = "Kevin@company.com"

    to1 = "staff1@company.com"
    to2 = "staff2@company.net"
    to3 = "staff3@client.com"

    strTo = to1
    If Len(strTo) > 0 Then
        If Len(to2) > 0 Then
            strTo = strTo & ";" & to2
        End If
    Else
        strTo = to2
    End If

    If Len(strTo) > 0 Then
        If Len(to3) > 0 Then
            strTo = strTo & ";" & to3
        End If
    Else
        strTo = to3
    End If


    body = reqApprName & "<br />" & reqApprPhone & "<br />" & reqApprEmail & "<br />Loan Number: "_
        & loannum & "<br /><br />Please do not reply back to this email.  The Vendor has provided the following "_
        & "comment associated with this order.<br /><br />" & reqUndueInfluenceComment

    Set ObjMail = CreateObject("CDONTS.Newmail")
    ObjMail.From = from1
ObjMail.To = strTo
ObjMail.Subject = "Appraisal Order "&OrderNum&" by Vendor"
    ObjMail.BodyFormat = 0
    ObjMail.MailFormat = 0
    ObjMail.Body = body
ObjMail.Send
Set ObjMail = Nothing

我很困惑,因为我以前从来没有遇到过CDONTS的问题。话又说回来,我从来没有尝试过在Windows7的64位机器上使用它,使用的是32位的经典asp。

有谁有什么想法吗?

谢谢大家。

PS:我在为CDONTS.NewMail创建对象时遇到错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 04:23:32

当您尝试发送消息时,可能会收到以下错误消息:

代码语言:javascript
复制
Microsoft VBScript runtime error '800a0046' Permission denied

当IIS中的应用程序在进程外运行时,就会出现此问题。

发生此问题时,进程的用户上下文将从有权访问IIS元数据库的IUSR_MachineName帐户更改为无权访问IIS元数据库的IWAM_MachineName帐户。

通常,此错误有两个原因。

  • 原因1

运行.asp页或运行脚本的用户没有分拣目录的权限。

通常,分拣目录位于以下位置:

对于仅运行IIS的计算机: C:\Inetpub\Mailroot\Pickup

对于运行Microsoft Exchange 5.5的计算机: Exchsrvr\Mailroot\Pickup

对于运行Exchange 2000的计算机:\Program files\Exchsrvr\Mailroot\Vsi #\Pickup

解决方案

The user under whom the .asp page is running or the script is running must have Modify (Change) permission to the Pickup directory so that the NewMail object can create the .eml file.

  • 原因2

该页正在其自己的内存空间中运行,并被拒绝访问IIS元数据库。要验证这一点,请执行以下步骤:

单击“开始”,单击“运行”,键入Inetmgr,然后单击“确定”。

右键单击包含页的根目录或虚拟目录,然后单击“属性”。

如果在步骤2中右键单击了根目录,请单击主目录选项卡。

如果在步骤2中右键单击了虚拟目录,请单击虚拟目录选项卡。

在运行Windows NT的计算机上,确定是否选中了“在单独的内存空间中运行”复选框。

如果选中了Run in separate memory space复选框,请单击清除该复选框。或者,在SMTP服务的“属性”菜单上,单击“操作员”选项卡,然后添加IWAM_MachineName帐户。

在运行Windows 2000的计算机上,确定“应用程序保护”设置是否设置为“高(独立)”。如果“应用程序保护”设置为“高(隔离)”,请将“应用程序保护”设置为“中(池化)”。或者,在SMTP服务的“属性”菜单上,单击“安全”选项卡,然后将IWAM_MachineName帐户添加到Operators帐户。

Support.Microsoft.com

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23684353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档