我正在尝试发送一封包含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
%>
答案 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)