VB脚本的内部服务器错误

时间:2013-12-18 19:50:18

标签: vbscript asp-classic

我正在尝试发送一封包含VB脚本/ ASP的电子邮件(我通常不会使用这种语言,但这就是网站的内置),并且它会引发500错误。

我没看到我做错了什么。一切看起来应该对我执行。有什么想法吗?

<%
dim name
dim from
dim company
dim phone
dim zip
dim message
dim areas

name = Request.Form("name")
from = Request.Form("from")
company = Request.Form("company")
phone = Request.Form("phone")
zip = Request.Form("zip")
areas = Request.Form("areas")
message = Request.Form("message")


Dim Mail, strHost
Dim strSubject, strBody, strPath

strHost = "localhost"

Set Mail = Server.CreateObject("Persits.MailSender")

Mail.Host = strHost
Mail.From = "cphelps@client.com"
Mail.FromName = "Client Name"
Mail.AddAddress "cphelps@client.com"
If Not InStr(from, "domain.com") Then Mail.AddBcc "cphelps@client.com"
Mail.Subject = name & " sent a request"
Mail.Body = name & "," & vbCrLf & vbCrLf &_ 
     "Name:" & name & vbCrLf &_ 
     "Company: " & company & vbCrLf &_ 
     "From: " & from & vbCrLf &_ 
     "Phone: " & phone & vbCrLf &_ 
     "Zip Code: " & zip & vbCrLf &_ 
     "Message: " & message & vbCrLf &_ 

Mail.Send
Response.Redirect("jlg_thank_you.asp")

set Mail = nothing

%>

2 个答案:

答案 0 :(得分:2)

我注意到的第一件事是您在提供的代码示例中缺少End If

我禁用了友好的错误消息,我尝试运行代码并收到此错误:

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

在研究此错误时,我发现有类似问题的人:

Server.createObject with Persist.Mailsender error

他们认为它缺少dll问题。

对于我的项目,我使用了Server.CreateObject("CDO.Message")

以下是我的代码示例:

Set mail = Server.CreateObject("CDO.Message")
mail.To = varTo
mail.From = varFrom
mail.Subject = varSubject
mail.HTMLBody = varBody
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtp.domain.com"
mail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
mail.Configuration.Fields.Update
mail.Send

答案 1 :(得分:0)

确保您下载了最新版本的ASPEmail,并且它已存在于运行该脚本的服务器上。

另外,使用以下命令行注册它:

regsvr32 c:\path\aspemail.dll