%@ language="JScript" %>
<%
/*--------------------------------------------------------------------------*\
mailform.js - Send form contents in an email, using settings specified
in "settings.txt" file
Copyright (C) 2005, Techio Systems. All rights reserved.
www.techio.net info@techio.net
License: You may use this code for free in your own projects on the condition
that you keep this copyright/license comment block intact, and do not claim
to have written this code yourself.
History
-------
1.00 PJH 02-Jan-05 Initial coding
\*--------------------------------------------------------------------------*/
//
// literal strings for translation
//
var sErrMessageAlreadySent = "The message has already been sent."
//
// global variables
//
var bError = false
var nError = 0
var sErrMsg = ""
var oSettings = GetSettings()
//
// post-back handler code
//
if (Request.Form ("postback") == 1)
{
if (!Session ("bMessageSent"))
{
//
// now build message content by enumerating required form fields in an HTML table
//
var sContent = "
"
var aFields = oSettings.fields.split (',')
var aFieldNames = oSettings.fieldnames.split (',')
for (var i = 0; i < aFields.length; i++)
{
var sField = aFields [i].Trim()
var sFieldName = aFieldNames [i].Trim()
if (!sFieldName) sFieldName = sField
sContent += "
" + sFieldName +
":
" + Request.Form (sField) +
"
\n"
}
sContent += "
\n"
// finally, send the message
var sFrom = GetSettingOrFormValue (oSettings, "from")
var sFromName = GetSettingOrFormValue (oSettings, "fromname")
var sTo = GetSettingOrFormValue (oSettings, "to")
var sToName = GetSettingOrFormValue (oSettings, "toname")
var sCc = GetSettingOrFormValue (oSettings, "cc")
var sSubject = GetSettingOrFormValue (oSettings, "subject")
// if "from name" given, stick it in from address
if (sFromName)
sFrom = '"' + sFromName + '" <' + sFrom + '>'
// if "to name" given, stick it in to address
if (sToName)
sTo = '"' + sToName + '" <' + sTo + '>'
SendMail (sFrom, sTo, sCc, sSubject, sContent, oSettings.smtpserver, oSettings.smtpport)
Session ("bMessageSent") = 1
}
else
{
// user clicked send button twice - complain
bError = true
sErrMsg = sErrMessageAlreadySent
}
// now push to "thanks" page
Response.Redirect (oSettings.thanks + (bError ? "?error=" + (nError + "," + sErrMsg) : ""))
}
else // not post-back
{
// first time through; clear message sent flag
Session ("bMessageSent") = 0
}
%>
Bob Pritchard - "Mr. Marketing"