%@ Language = vbscript%> <%option explicit %> <%server.scripttimeout = 600 %> <% 'GL-FormMail Varient E-Mail .asp Script for Use on M$ web servers '---------------------------------------------------------------------------------------------------- 'declare variables '---------------------------------------------------------------------------------------------------- Dim strFrom, strTo, strSubject, strBody, strABody, keyl, keyfrom Dim objMessage, objConfig, strServer, intPort Dim recipient, redirect, subject, realname, email, required, strEmail1, strEmail2 Dim referer, url, url_verified, icounter, query, iloop, query2, query3, i, agree, validation, error0, error0ok '############################## CONFIGURATION VARIABLES #################################### 'These may be the only lines you will need to change '---------------------------------------------------------------------------------------------------- strServer = "127.0.0.1" 'set which smtp server will be used to send the email. enter ip address or domain name. eg: "xxx.xxx.xxx.xxx" or "smtp.your-domain.com" intPort = 25 'set the smtp port to be used when sending mail (by default port 25 is used) 'Referrer's Array is defined here. Enter the valid domains which may use this script. url = Array("www.yourwebsite.com","yourwebsite.com","www.anotherofyourwebsites.com") ' Set which servers that will be accepted for sending/posting to this form '---------------------------------------------------------------------------------------------------- 'information type and CDOSYS constants '---------------------------------------------------------------------------------------------------- %> <% '---------------------------------------------------------------------------------------------------- 'retrieved default fields '---------------------------------------------------------------------------------------------------- ' You will want to change these to whatever fieldnames you are using for these functions. 'request("recipient") = request("To") 'request("redirect") = request("ReturnPage") 'request("subject") = request("Subject") 'request("email") = request("From") recipient = request("To") redirect = request("ReturnPage") subject = request("Subject") email = request("email") if email = "" then email = request("From") end if required = request("required") ' You can 'require' fields if required = "" then 'required = "recipient,subject,email,redirect" else required = "recipient,subject,email,redirect," & required end if '---------------------------------------------------------------------------------------------------- 'verify the referer '---------------------------------------------------------------------------------------------------- referer = request.ServerVariables("HTTP_REFERER") referer = split(referer,"/") url_verified = "no" for icounter = Lbound(url) to Ubound(url) ' if referer(2) = url(icounter) then url_verified = "yes" end if next if not url_verified = "yes" then response.write("You are not authorized to use this .asp function, or this code is not yet configured properly") response.End end if '---------------------------------------------------------------------------------------------------- 'retrieve form contents and create email fields '---------------------------------------------------------------------------------------------------- query = Request.ServerVariables("QUERY_STRING") query = split(query,"&") query3 = split(required,",") strBody = strBody & vbnewline & "
| " & query2(0) &" | " & query2(1) & " |
|---|
" & vbnewline & "Name: " & realname & "
" & vbnewline & "Email: " & email & "
" & vbnewline & strBody & vbnewline & vbnewline & "
--end
"
strABody = vbnewline & "A web-form was submitted from " & vbnewline & "Name: " & realname & vbnewline & vbnewline & "Email: " & email & vbnewline & vbnewline & strABody & vbnewline & vbnewline & "--end"
'----------------------------------------------------------------------------------------------------
'checks if a smtp port has been specified, if not it uses the default port 25
'----------------------------------------------------------------------------------------------------
if intport <> 25 then
intport = intport
else
intport = 25
end if
'----------------------------------------------------------------------------------------------------
'send the mail message
'----------------------------------------------------------------------------------------------------
set objMessage = CreateObject("CDO.Message")
objMessage.To = recipient
'objMessage.To = "geeks@geeklabs.com" ' I highly suggest hard coding a TO: address in this.. keeps the abuse way down.
objMessage.From = email
objMessage.Subject = subject
objMessage.Sender = email
objMessage.Textbody = strABody
objMessage.Htmlbody = strBody
'----------------------------------------------------------------------------------------------------
'cdosys configuration setup
'----------------------------------------------------------------------------------------------------
set objConfig = CreateObject("CDO.Configuration")
objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort
objConfig.Fields(cdoSMTPServer) = strServer
objConfig.Fields(cdoSMTPServerPort) = intPort
objConfig.Fields(cdoSMTPAuthenticate) = cdoAnonymous
objConfig.Fields.Update
set objMessage.Configuration = objConfig
'----------------------------------------------------------------------------------------------------
'define error handling procedures
'----------------------------------------------------------------------------------------------------
On Error Resume Next
objMessage.Send
If Err.Number = 0 then
response.write("GL-FormMail v1.0 processed all operations successfully!")
else
response.write("GL-FormMail v1.0 detected the following errors:")& "
"
response.write("error no.: ")&err.number & "
"
response.write("description: ")&err.description & "
"
response.end
End If
On Error Goto 0
'----------------------------------------------------------------------------------------------------
'send them to the page specified
'----------------------------------------------------------------------------------------------------
Response.Redirect redirect
%>