【问题标题】:ASP Contact form error Server object error 'ASP 0177 : 800401f3'ASP 联系表单错误服务器对象错误“ASP 0177:800401f3”
【发布时间】:2015-02-26 16:58:46
【问题描述】:

我的一个网站联系/预订表格突然停止工作,我现在收到以下错误。

服务器对象错误“ASP 0177:800401f3” Server.CreateObject 失败 /contact2.asp,第 51 行

我做了一些研究,它似乎与经典的 ASP 命令有关,但是 我对 ASP 的了解有限。

这里是完整的代码:-

<%

name = request.form("name")
email = request.form("email")
phone = request.form("phone")
guests = request.form("guests")
datum2 = request.form("datum2")
info = request.form("info")
time_hour = request.form.item("time_hour")
time_minute = request.form.item("time_minute")
moda_event = request.form.item("modaEvent")
sign_up = request.form.item("signup")

If name="" or email="" Then
url = "reservations.asp?reqd=* indicates required field&name=" & mname    & "&email=" & memail
If name="" Then 
url = url & "&mname=*"
End if

If email="" Then
url = url & "&memail=*"
End if

response.redirect url & "&foobar=foobar#form"
response.end
End if


         Dim objCDONTS                 ' Email object
                 Dim strFromName               ' From persons' real name
                 Dim strFromEmail, strToEmail  ' Email addresses
                 Dim strSubject, strName, strPhone, strEmail, strGuests, strDate, strHour, strMinute, strEvent, strInfo, strSignup 'Message
                 Dim misccompo       


         strSubject    = "Reservation Form"
         strFromName   = Trim(Request.Form("name"))
         strFromEmail  = Trim(Request.Form("email"))
         strToEmail    = "reservations@modarestaurant.co.uk"
         strName       = Trim(Request.Form("name")) 
         strPhone      = Trim(Request.Form("phone"))
         strEmail  = Trim(Request.Form("email")) 
         strGuests     = Trim(Request.Form("guests")) 
         strDate       = Trim(Request.Form("datum2")) 
         strHour       = Trim(Request.Form.Item("time_hour")) 
         strMinute     = Trim(Request.Form.Item("time_minute")) 
         strEvent      = Trim(Request.Form.Item("moda_event")) 
         strInfo       = Trim(Request.Form("info"))
         strSignup = Trim(Request.Form.Item("signup"))  

Set objCDONTS = Server.CreateObject("CDONTS.NewMail")
                         objCDONTS.From    = strFromName & " <" &   strFromEmail & ">"
                         objCDONTS.To      = strToEmail
                         objCDONTS.Subject = strSubject
             objCDONTS.Body    = "--------------------------------------" & vbcrlf & vbcrlf & "Name: " & strName & vbcrlf & "Contact Number: " & strPhone & vbcrlf & "Email Address: " & strEmail & vbcrlf & "No. of Guests: " & strGuests & vbcrlf & "Date: " & strDate & vbcrlf & "Time: " & strHour & ":" & strMinute & vbcrlf & "Event: " & strEvent & vbcrlf & "Additional Info: " & vbcrlf & strInfo & vbcrlf & "Newsletter Signup: " & strSignup &vbcrlf  & "--------------------------------------------------------------" & vbcrlf & "MESSAGE ENDS: End of info"
                         objCDONTS.Send
                         Set objCDONTS = Nothing

response.redirect "thank-you.asp"
response.end
%>

第51行错误就是这一行;

Set objCDONTS = Server.CreateObject("CDONTS.NewMail")

任何帮助将不胜感激。

【问题讨论】:

    标签: forms web asp-classic contact


    【解决方案1】:

    错误

    Server object error 'ASP 0177 : 800401f3' 
    
    Server.CreateObject Failed 
    
    /contact2.asp, line 51
    

    表示无法创建该对象,因为它无法为所请求的对象找到合适的 DLL。换句话说,它正在寻找作为文件 cdont.dll 包含在 NT SP4 中的 CDONTS COM 组件。 CDONTS 在 Windows 2000 中已弃用,并在 Windows 2003 中完全删除。因此,如果您使用的是 Window 2003、Windows 2008 或 Windows 2012 服务器,则此错误是有意义的,因为 DLL 不存在。

    要解决此问题,请尝试以下方法 - 使用 CDOSYS。 CDOSYS (cdosys.dll) 是作为 IIS 的一部分提供的库文件,适用于 Windows 2000、Windows 2003 Server 和 Windows 2008 Server。此 DLL 使应用程序能够跨多个平台路由 SMTP 消息,并在旧的 CDONTS 库上添加了更多功能。

    这是一个非常简化的示例,用于对一些更改进行建模

    Dim Message As New CDO.Message
    
    sch = "http://schemas.microsoft.com/cdo/configuration/"
    
    Set cdoConfig = CreateObject("CDO.Configuration")
    
    with cdoConfig.Fields
        .item(sch & "sendusing") = 2
        .Item(sch & "smtpserver") = "mail.xxxx.com" ' your SMTP mail server
        .Item(sch & "smtpserverport") = 2525
        .update
    end with
    
    'Create CDO message object
    Set Message = CreateObject("CDO.Message")
    With Message
        set .configuration = cdoConfig
    
        'Set email adress, subject And body
        .From = strFromName   
        .To = strToEmail    
        .Subject = strSubject    
        .TextBody = TextBody
    
        'Send the message
        .Send
    End With
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-01
      • 2012-10-08
      • 2013-10-23
      • 1970-01-01
      • 2018-09-19
      • 2019-12-07
      • 2010-12-03
      • 2016-06-28
      相关资源
      最近更新 更多