2013-12-18 3 views
0

VB 스크립트/ASP (일반적으로이 언어를 사용하지는 않지만 사이트가 구축 된 것입니다)로 전자 메일을 보내려고하고 있는데 오류가 500 번 발생합니다.VB 스크립트의 내부 서버 오류

내가 잘못한 것을 보지 못했습니다. 그것이 나에게 실행해야하는 것처럼 보이는 모든. 어떤 아이디어?

<% 
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 = "[email protected]" 
Mail.FromName = "Client Name" 
Mail.AddAddress "[email protected]" 
If Not InStr(from, "domain.com") Then Mail.AddBcc "[email protected]" 
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

오류에 대한 자세한 내용이 있습니까? IE의 친숙한 오류 메시지를 사용하지 않도록 설정하면 더 의미있는 오류가 발생할 수 있습니다. "aspemail.dll"이 스크립트를 실행하는 서버에 올바르게 등록되어 있는지 확인하십시오. –

+0

스크립트에서 문제가되지 않습니까? –

+1

CreateObject 줄에 오류가 발생했다고 생각됩니다. IE의 친숙한 오류 메시지를 사용 안 함으로 설정하면 ASP에서 정확히 충돌하는 줄을 알려야합니다. –

답변

2

가장 먼저 알아챈 것은 제공된 코드 샘플에 End If이 누락되었다는 것입니다.

I 장애인 친절한 오류 메시지와 나는 코드를 실행하려고 시도하고이 오류를 가지고 : 나는 비슷한 문제로 사람을 발견이 오류 연구에

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

을 :

Server.createObject with Persist.Mailsender error

을 그들은 그것의 누락 된 dll 문제를 제안했다. 당신이 ASPEmail의 최신 버전을 다운로드하고 스크립트를 실행하는 서버에 존재하는지 확인

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 
+0

Persits.MailSender (aspemail.dll) 어셈블리가 컴퓨터에 등록되어 있습니까? 그렇지 않다면 물론 CreateObject는 실패 할 것입니다 ... –

+0

FYI ... if then 문이 유효합니다 ... 같은 줄에 "then"문이 있으면 끝이 필요 없습니다. 문제를 묻는 코드 바로 가기;) –

0

: 나는 여기

Server.CreateObject("CDO.Message")을 사용하고 내 프로젝트의

내 코드의 예입니다 .

또한,이 명령 줄을 사용하여 등록 :

regsvr32 c:\path\aspemail.dll 
+0

이미 그렇게했습니다. 작동하지 않았다. –

+0

웹 사이트의 응용 프로그램 풀을 실행하는 사용자는 무엇입니까? 객체를 생성 할 수 있는지 일시적으로 로컬 관리자 권한을 부여 할 수 있습니까? –