繁体   English   中英

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

[英]Microsoft VBScript runtime error: Permission denied: 'CreateObject' when creating CDONTS.NEWMAIL

我正在更改以经典ASP编写的网站。

我的系统是Windows 7 64位。

将其设置为在IIS6上运行的经典asp之后,我已经能够运行该网站。

当它尝试执行以下代码时,出现权限拒绝错误:

    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问题。 再说一次,我从未尝试过在Windows 7 64位计算机上使用32位经典ASP来使用它。

有人有什么想法吗?

谢谢大家

PS:我在CDONTS.NewMail的创建对象上收到错误

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

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的计算机上,确定是否选中了“在单独的内存空间中运行”复选框。

如果选中在单独的内存空间中运行复选框,请单击以清除该复选框。 或者,在SMTP服务的“属性”菜单上,单击“操作员”选项卡,然后添加IWAM_MachineName帐户。

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

Support.Microsoft.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM