<%
Dim objCDONTS ' Email object
Dim strFromName ' From persons' real name
Dim strFromEmail, strToEmail ' Email addresses
Dim strSubject, strBody ' Message
Dim strThisPage ' This page's URL
Dim strReferringPage ' The referring page's URL
Dim bValidInput ' A boolean indicating valid parameters
' Retrieve this page name and referring page name
strThisPage = Request.ServerVariables("SCRIPT_NAME")
strReferringPage = Request.ServerVariables("HTTP_REFERER")
' Debugging lines:
'Response.Write strThisPage & " " & vbCrLf
'Response.Write strReferringPage & " " & vbCrLf
' Read in and set the initial values of our message parameters
strFromName = Request.Form("firstname") & " " & Request.Form("lastname")
if Request.Form("newsletter1")="baker" then
strToEmail = "jenny.au@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
'elseif Request.Form("newsletter1")="bentley" then
'strToEmail = "jenny.au@chinaorphans.org;john.bentley@chinaorphans.org;tim.baker@chinaorphans.org;"
elseif Request.Form("newsletter1")="zimmer" then
strToEmail = "jenny.au@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
elseif Request.Form("newsletter1")="crawford" then
strToEmail = "jenny.au@chinaorphans.org;jodi.crawford@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
elseif Request.Form("newsletter1")="haller" then
strToEmail = "jenny.au@chinaorphans.org;mike.haller@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
elseif Request.Form("newsletter1")="moody" then
strToEmail = "jenny.au@chinaorphans.org;bill.moody@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
elseif Request.Form("newsletter1")="cole" then
strToEmail = "jenny.au@chinaorphans.org;tara.cole@chinaorphans.org;tim.baker@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
elseif Request.Form("newsletter1")="tramel" then
strToEmail = "jenny.au@chinaorphans.org;rick.tramel@chinaorphans.org;tim.baker@chinaorphans.org;"
elseif Request.Form("brochure")="printed brochure" then
strToEmail = "jenny.au@chinaorphans.org;tim.baker@chinaorphans.org;cindy.bergon@chinaorphans.org;Leah.Zimmer@ChinaOrphans.org;"
else
strToEmail = "jenny.au@chinaorphans.org;"
end if
strSubject = "Newsletter - " & Request.Form("newsletter") & ", " & Request.Form("newsletter1")
strFromEmail = Request.Form("email")
strPhone = "Phone: " & Request.Form("phone")
strAddress1 = "Address1: " & Request.Form("address1")
strAddress2 = "Address2: " & Request.Form("address2")
strCity = "City: " & Request.Form("city")
strState = "State: " & Request.Form("state")
strZip = "Zip/Postal Code: " & Request.Form("zipcode")
strCountry = "Country: " & Request.Form("country")
strEmail = "Email: " & Request.Form("email")
strPhone = "Phone: " & Request.Form("phone")
strNewsletter = "Please send me: " & Request.Form("newsletter")
strBrochure = "Please send me: " & Request.Form("brochureQTY") & "" & Request.Form("brochure") & "(s)"
strNewsletter1 = "Please send me also: " & Request.Form("newsletter1")
' I set the body message to a message that referenced the page the
' user arrived from. This makes it great if you place a link to it
' from your different articles, but can be weird if people link in
' from other web sites.
strBody = strFromEmail & vbcrlf&_
strFromName & vbcrlf&_
strPhone & vbcrlf&_
strAddress1 & vbcrlf&_
strAddress2 & vbcrlf&_
strCity & vbcrlf&_
strState & vbcrlf&_
strZip & vbcrlf&_
strCountry & vbcrlf&_
strEmail & vbcrlf&_
strPhone & vbcrlf&_
strNewsletter & vbcrlf&_
strNewsletter1 & vbcrlf&_
strBrochure & vbcrlf&_
strBrochureQty
' Quick validation just to make sure our parameters are somewhat valid
bValidInput = True
bValidInput = bValidInput And strFromName <> ""
bValidInput = bValidInput And IsValidEmail(strFromEmail)
bValidInput = bValidInput And IsValidEmail(strToEmail)
' If valid send email and show thanks, o/w show form
If bValidInput Then
' Set up our email object and send the message
Set objCDONTS = Server.CreateObject("CDO.Message")
objCDONTS.From = strFromName & " <" & strFromEmail & ">"
objCDONTS.To = strToEmail
objCDONTS.Subject = strSubject
objCDONTS.TextBody = strBody
objCDONTS.Send
Set objCDONTS = Nothing
' Show our thank you message
ShowThanksMsg
Else
If "http://" & Request.ServerVariables("HTTP_HOST") & strThisPage = strReferringPage Then
Response.Write "Please re-check the email field you have entered!" & vbCrLf
End If
' Show our information retrieval form
ShowReferralForm strThisPage, strFromName, strFromEmail, strToEmail, strBody
End If
' End of page logic... subs and functions follow!
%>
<%
' Subroutines and Functions that encapsulate some functionality
' and make the above code easier to write... and read.
' A quick email syntax checker. It's not perfect,
' but it's quick and easy and will catch most of
' the bad addresses than people type in.
Function IsValidEmail(strEmail)
Dim bIsValid
bIsValid = True
If Len(strEmail) < 5 Then
bIsValid = False
Else
If Instr(1, strEmail, " ") <> 0 Then
bIsValid = False
Else
If InStr(1, strEmail, "@", 1) < 2 Then
bIsValid = False
Else
If InStrRev(strEmail, ".") < InStr(1, strEmail, "@", 1) + 2 Then
bIsValid = False
End If
End If
End If
End If
IsValidEmail = bIsValid
End Function
' I made this a function just to get it out of the
' logic and make it easier to read. It just shows the
' form that asks for the input
Sub ShowReferralForm(strPageName, strFromName, strFromEmail, strToEmail, strBody)
' I use script_name so users can rename this script witout having to change the code.
%>
|