ASP联系表单错误服务器对象错误'ASP 0177:800401f3'

时间:2021-09-02 01:56:52

One of my websites contact/reservations form has suddenly stopped working and I now receive the following error.

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

Server object error 'ASP 0177 : 800401f3' 

Server.CreateObject Failed 

/contact2.asp, line 51

I've done a bit of research and it seems to relate to classic ASP commands but my knowledge of ASP is limited.

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

Here is the full code:-

这是完整的代码: -

<%

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
%>

The line 51 error is this line;

第51行错误就是这一行;

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

Any help would be greatly appreciated.

任何帮助将不胜感激。

1 个解决方案

#1


1  

The error

错误

Server object error 'ASP 0177 : 800401f3' 

Server.CreateObject Failed 

/contact2.asp, line 51

means that the object could not be created because it could not find the appropriate DLL for the object requested. In other words, it is looking for the CDONTS COM component that was included with NT SP4 as the file cdont.dll. CDONTS was deprecated in Windows 2000 and completely removed in Windows 2003. Therefore, if you are using Window 2003, Windows 2008 or Windows 2012 server this error makes sense since the DLL is not present.

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

To fix this problem try the following - use CDOSYS. CDOSYS (cdosys.dll) is a library file provided as part of IIS for Windows 2000, Windows 2003 Server, and Windows 2008 Server. This DLL enabled applications to route SMTP messages across multiple platforms and added much more functionality over the older CDONTS library.

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

Here is a greatly simplified example to model some changes on

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

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

#1


1  

The error

错误

Server object error 'ASP 0177 : 800401f3' 

Server.CreateObject Failed 

/contact2.asp, line 51

means that the object could not be created because it could not find the appropriate DLL for the object requested. In other words, it is looking for the CDONTS COM component that was included with NT SP4 as the file cdont.dll. CDONTS was deprecated in Windows 2000 and completely removed in Windows 2003. Therefore, if you are using Window 2003, Windows 2008 or Windows 2012 server this error makes sense since the DLL is not present.

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

To fix this problem try the following - use CDOSYS. CDOSYS (cdosys.dll) is a library file provided as part of IIS for Windows 2000, Windows 2003 Server, and Windows 2008 Server. This DLL enabled applications to route SMTP messages across multiple platforms and added much more functionality over the older CDONTS library.

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

Here is a greatly simplified example to model some changes on

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

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