Link to home
Start Free TrialLog in
Avatar of Pdesignz
PdesignzFlag for United States of America

asked on

ASP Formmail send to alternate email on checkbox or radio button - Help!!

Hello,

I have a form that I created using asp formmail. Everything is working, the only change that I would like to make is this. There is currently a hidden field for recipient with a single email address. I would like that if someone checks a certain checkbox or radio button, that it would then send the email to the original recipient and another email address. If the checkbox or radio button are not checked then just send to the original email recipient. I am attaching the source for review...
 Much Appreciated
<!--Form Source Code -->


<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Data Licensing :: Contact Us :: Mitchell</title>
<meta type="description" content="The Mitchell legacy, from foundation in 1946 by Glen Mitchell to ">
<meta content="IE=8" http-equiv="X-UA-Compatible">
<link media="all" href="../../../css/widget52.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="../../../css/style.css">
<script src="../../../js/jquery.js" type="text/javascript"></script>
<script src="../../../js/jquery.validate.js" type="text/javascript"></script>
<script src="../../../js/ga.js" async="" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
	$('.left-menu .arrow').click(function() {
		if ($(this).closest('li').find('ul').length) {
			$(this).closest('li').toggleClass('open')
			$(this).closest('li').find('ul').slideToggle()
		}
	})
})
</script>
<!--<script src="../../includes/AC_RunActiveContent.htm" type="text/javascript"></script>-->
<!-- BEGIN GOOGLE ANALYTICS TRACKING -->
<script type="text/javascript"> 
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-3698060-1']);
  _gaq.push(['_trackPageview']);
 
  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
</script>
<script type="text/javascript">
  function recordOutboundLink(link, category, action) {
    _gat._getTrackerByName()._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100);
  }
</script>
<!-- END GOOGLE ANALYTICS TRACKING -->
<script type="text/javascript" language="javascript">
$(document).ready(function(){
	//validation implementation will go here.
	$("#contactForm").validate({
		rules: {
			FirstName: "required",
			LastName: "required",
			Email: {
				required: true,
				email: true
			},
			CompanyName: "required",
			Phone: "required"
		},
		messages: {
			FirstName: "<br />Please enter your first name",
			LastName: "<br />Please enter your last name",
			Email: "<br />Please enter a valid email address",
			CompanyName: "<br />Please enter your company name",
			Phone: "<br />Please enter your phone no."
		}
	})
})
</script>

<style type="text/css">
#contactForm { width: 530px; }
#contactForm label.error {
	margin-left: 10px;
	color:#900;
	clear:both;
}
</style>

</head><body><div id="_atssh" style="visibility: hidden; height: 1px; width: 1px; position: absolute; z-index: 100000;"><iframe src="../includes/sh32.htm" style="height: 1px; width: 1px; position: absolute; z-index: 100000; border: 0pt none; left: 0pt; top: 0pt;" id="_atssh728"></iframe></div>
<div class="main">
	<div class="header">
   	  <a href="../../index.asp" class="logo"><img src="../../../images/logo-mitchell-enterprise-management-software.png" alt="Mitchell - Claims Processing &amp; Auto Shop Management Software" width="141" height="47" /></a>
        <div class="box-utility">
        <ul class="utility">
                <li><a href="../../../company/index-about-mitchell-international.asp">Company</a></li>
                <li><a href="../../../careers/careers.asp">Careers</a></li>
                <li><a href="../../../media-center/index-media-center.asp">Media</a></li>
                <li><a href="../../../support">Support</a></li>
                <li><a href="../../../contactus.asp">Contact</a></li>
                <li class="last"><a href="../../../careers/careers.asp">We're Hiring!</a></li>
          </ul>
        </div>
        <div class="clear"></div>
    </div>
    <div class="content">
      <ul class="menu">
        	<li><a href="../../../claims-management-software/index-claims-processing-workflow-solutions.asp"><span class="arr">Claims Management Solutions</span></a>
            	<ul>
                    <li>&nbsp;</li>
                    <li><a href="../../../claims-management-software/insurance-claims-processing/index-insurance-claims-software.asp">Collision Claims Management Software</a></li>
                    <li><a href="../../../claims-management-software/medical-claims-processing/index-medical-processing-software.asp">Medical Claims Processing Software</a></li>
                    <li><a href="../../../claims-management-software/workers-compensation-claims/index-management-software-smartadvisor.asp">Workers' Compensation Management Software</a></li>
                    <li class="last">Powered by Mitchell Technology</li>
                </ul>
            </li>
            <li><a href="../../../auto-repair-shop-software/index-auto-shop-management-software.asp"><span class="arr">Repair Shop Solutions</span></a>
            	<ul>	
		    <li>&nbsp;</li>
                    <li><a href="../../../auto-repair-shop-software/auto-shop-management-software.asp">Auto Shop Management Software</a></li>
                    <li><a href="../../../auto-repair-shop-software/estimating-and-imaging.asp">Estimating &amp; Imaging</a></li>
                    <li><a href="../../../auto-repair-shop-software/collision-repair-optimization.asp">Collision Repair Optimization</a></li>
                    <li><a href="../../../auto-repair-shop-software/customer-experience-management.asp">Customer Experience Management</a></li>
                    <li><a href="../../../auto-repair-shop-software/glass-invoicing-workflow-solutions.asp">Glass &amp; Invoicing Workflow</a></li>
                    <li><a href="../../../auto-repair-shop-software/mitchell-collision-guide-store.asp">The Mitchell Collision Guide Store</a></li>
                    <li class="last">Powered by Mitchell Technology</li>
                </ul>
            </li>
        </ul>
      <div class="r-line">
            <!-- BEGIN ADDTHIS BUTTON -->
            <div class="addthis_toolbox addthis_default_style ">
            <a href="http://www.addthis.com/bookmark.php?v=250&amp;username=mitchellintl" class="addthis_button_compact at300m"><span class="at300bs at15t_compact"></span>Share</a>
        <div class="atclear"></div></div>
            <script type="text/javascript">var addthis_config = {"data_track_clickback":true};</script>
        <script type="text/javascript" src="../../../js/addthis_widget.js"></script>
            <!-- END ADDTHIS BUTTON -->
      </div>
	<!-- BEGIN HEADER IMAGE -->
        <div class="top-img">
       	  <img src="../../images/contact-information-header.jpg" alt="Company Information" width="960" height="76">
        </div>
	<!-- END HEADER IMAGE -->
	<!-- BEGIN LEFT NAV -->
        <div class="left-side"></div>
        	<!-- BEGIN BODY COPY -->
          <div class="right-side">
        	<div class="breadcrumbs"><a href="../../../index.asp">Home</a> <span>\</span> <a href="../../../contactus.asp">Contact Us</a> <span>\</span> Data Licensing</div>
          <h1>Data Licensing</h1>
          <div class="left-col">
          <p>&nbsp;</p>
          <h2>How can we help you?</h2>
          <table width="530">
            <tr>
              <td valign="top">
              <form id="contactForm" method="get"  action="corp-data-licensing-process.asp" >
 <table width="100%" border="0" cellpadding="10" cellspacing="0" >
    <tr>
      <td valign="top">
        <p>Please use the form below to inquire about our data licensing and private label services.</p>
        <br />
        <table width="100%" border="0" cellpadding="4" cellspacing="0" style="font-size:11px;" >
          <tr>
            <th colspan="2" align="left" valign="bottom">Contact Information</th>
          </tr>
          <tr>
            <td><label for="CompanyName">Company Name:</label>
              <span style="color: #C00">*</span></td>
            <td><input type="text" name="CompanyName" size="40" maxlength="40" id="CompanyName" /></td>
          </tr>
          <tr>
            <td>Type of Business:</td>
            <td><input type="text" name="BusinessType" size="40" maxlength="40" id="BusinessType" /></td>
          </tr>
          <tr>
            <td width="183"><label for="FirstName">First Name:</label> <span style="color: #C00">*</span></td>
            <td width="333"><input type="text" name="FirstName" size="40" maxlength="40" id="FirstName"></td>
          </tr>
          <tr>
            <td><label for="LastName">Last Name:</label> <span style="color: #C00">*</span></td>
            <td><input type="text" name="LastName" size="40" maxlength="40" id="LastName"></td>
          </tr>
          <tr>
            <td height="33" valign="top">Title:</td>
            <td valign="top"><input type="text" name="Title" size="40" maxlength="40" id="Title"></td>
          </tr>
          <tr>
            <td><label for="Phone">Phone:</label><span style="color: #C00">*</span></td>
            <td><input name="Phone" type="text" size="40" maxlength="40" id="Phone" /> 
              <span style="color:#999"><br />
                (XXX-XXX-XXXX)</span></td>
          </tr>
          <tr>
            <td>Fax:</td>
            <td><input name="Fax" type="text" size="40" maxlength="40" id="Fax" />
              <span style="color:#999"><br />
                (XXX-XXX-XXXX)</span></td>
          </tr>
          <tr>
            <td height="33" valign="top"><label for="Email">Email Address:</label><span style="color: #C00">*</span></td>
            <td><input type="text" name="Email" size="40" maxlength="40" id="Email" /></td>
          </tr>
          <tr>
            <td colspan="2" align="left" valign="bottom">Please describe the scope of your project:</td>
          </tr>
          <tr>
            <td height="99" colspan="2"  valign="top"><textarea name="Comments" cols="52" rows="8" id="Comments" style="width:440px;"></textarea></td>
            </tr>
          <tr>
            <td colspan="2">&nbsp;</td>
          </tr>
          <tr>
            <td>Is this project a new initiative<br />
in your company?</td>
            <td><select name="initiative" id="initiative">
              <option value="Yes" selected="selected">Yes</option>
              <option value="No">NO</option>
            </select></td>
          </tr>
          <tr>
            <td>I am interested in delivery content<br />
in the following mediums<br />
<em>(Check all that apply.)</em></td>
            <td><input name="DeliveryContent" type="checkbox" id="DeliveryContent" value="Print" />
              Print
              <input name="DeliveryContent" type="checkbox" id="DeliveryContent" value="Web" />
              web
              <input name="DeliveryContent" type="checkbox" id="DeliveryContent" value="CD-ROM " />
              CD-ROM </td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td align="right"><input name="Submit" type="submit" class="button" value="Send Request" /></td>
          </tr>
          <tr>
            <td height="37" colspan="2"><span style="color: #C00">*</span> Required fields are marked with an asterisk.
              </td>
            </tr>
          <tr>
            <td colspan="2">If you wish to contact us directly, please call 1-800-421-6705.</td>
            </tr>
        </table>
      
        </td>
    </tr>
  </table>
    <input name="recipient" type="hidden" id="recipient" value="test@email.com">
    <input name="subject" type="hidden" id="subject" value="Data Licensing Contact Form">
    <input name="redirect" type="hidden" id="redirect" value="corp-conf.asp">
    <input name="required" type="hidden" id="required" value="telephone, realname">
</form> 




<!--<form id="signupForm" method="get" action="formmail.asp">
		

		<p>
			<label for="firstname">Firstname</label>
			<input id="firstname" name="firstname" />
		</p>
		<p>
			<label for="lastname">Lastname</label>
			<input id="lastname" name="lastname" />
		</p>
		<p>
			<label for="email">Email</label>
			<input id="email" name="email" />
		</p>
		<p>
			<input class="submit" type="submit" value="Submit"/>
		</p>

</form>
 --></td>
            </tr>
          </table>
          <p>&nbsp;</p>
          </div>
  <!-- END BODY COPY -->
	<!-- BEGIN RIGHT COLUMN -->
          <div class="right-col">
          
            <div class="right-col-box">
            <div class="right-col-box">
			  <img src="../../../images/contact-information-inset.jpg" width="189" height="120" alt="Workers' Compensation Management Software" /><br /><br />
			  </div>
              <div class="press-box">
                <h2>Press</h2>
                <h5><a href="../../../media-center/pr-wcs-regulatory-reporting.asp">Mitchell International Launches Workers' Compensation Regulatory Reporting Solutions</a></h5>
                <p><b>February 21, 2011</b> - Expansion of claims solution product set enables insurance payers to improve compliance reporting efficiency and accuracy&hellip;</p>
                <a href="../../../media-center/pressrelease.asp" class="read-more">&gt;&gt; Read More Mitchell Press</a></div>
            </div>
            <div class="right-col-box">
              <div class="press-box">
                <h2>Events</h2>
                <h5><a href="http://www.rims.org/annualconference/rims2011/pages/default.aspx" target="_blank">2011 RIMS Conference</a></h5>
                <p>May 1-5,<br />
                  Vancouver, BC</p>
                <a href="../../../company/corporate-events.asp" class="read-more">&gt;&gt; More Events</a></div>
            </div>
          </div>
	<!-- END RIGHT COLUMN -->
    </div>
        <div class="clear"></div>
  </div>
</div>
<!-- BEGIN FOOTER -->
<div class="footer">
  <div class="footer-box">
    <h6><a href="../../../claims-management-software/index-claims-processing-workflow-solutions.asp">Claims Management Solutions</a></h6>
    <ul>
      <li><a href="../../../claims-management-software/insurance-claims-processing/index-insurance-claims-software.asp">Collision Claims Management Software</a></li>
      <li><a href="../../../claims-management-software/medical-claims-processing/index-medical-processing-software.asp">Medical Claims Processing Software</a></li>
      <li><a href="../../../claims-management-software/workers-compensation-claims/index-management-software-smartadvisor.asp">Workers' Compensation Management Software</a></li>
    </ul>
  </div>
  <div class="footer-box">
    <h6><a href="../../../auto-repair-shop-software/index-auto-shop-management-software.asp">Repair Shop Solutions</a></h6>
    <ul>
      <li><a href="../../../auto-repair-shop-software/auto-shop-management-software.asp">Auto Shop Management Software</a></li>
      <li><a href="../../../auto-repair-shop-software/estimating-and-imaging.asp">Estimating &amp; Imaging</a></li>
      <li><a href="../../auto-repair-shop-software/collision-repair-optimization.asp">Collision Repair Optimization</a></li>
      <li><a href="../../../auto-repair-shop-software/glass-invoicing-workflow-solutions.asp">Glass &amp; Invoicing Workflow</a></li>
      <li><a href="../../../auto-repair-shop-software/mitchell-collision-guide-store.asp">The Mitchell Collision Guide Store</a></li>
    </ul>
  </div>
  <div class="footer-box last">
    <h6><a href="../../../company/index-about-mitchell-international.asp">Company</a></h6>
    <h6><a href="../../../company/mitchell-our-history.asp">Our History</a></h6>
    <h6><a href="../../../company/mitchell-technology.asp">Mitchell Technology</a></h6>
    <ul class="follow-list">
      <li><a href="http://twitter.com/Mitchell_Intl" target="_blank" class="tweeter">Twitter</a></li>
      <li><a href="http://www.youtube.com/user/MitchellIntl" target="_blank" class="youtube">YouTube</a></li>
      <li><a href="http://www.linkedin.com/company/mitchell-international" target="_blank" class="linkedin">LinkedIn</a></li>
      <li><a href="http://www.collisionhub.com/" target="_blank" class="other">CollisionHub</a></li>
      <li><a href="http://www.mitchell.com/" target="_blank" class="mitchell">Mitchell</a></li>
    </ul>
  </div>
</div>
<div class="subfooter">
<a href="../../../contactus.asp">Contact Us&nbsp;&nbsp;</a>|<a href="../../../legal/mitchell_terms.asp">&nbsp;&nbsp;Terms of Use &nbsp;&nbsp;</a>|<a href="../../../legal/mitchell_privacy.asp">&nbsp;&nbsp;Privacy Practices</a> | <a href="../../../legal/mitchell_copyright.asp">&nbsp;Copyright &amp; Usage</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="mailto:&#119;&#101;&#098;&#109;&#097;&#115;&#116;&#101;&#114;&#064;&#109;&#105;&#116;&#099;&#104;&#101;&#108;&#108;&#046;&#099;&#111;&#109;">[+] Report a Problem</a><br /><br />
&copy; 2011 Mitchell International, Inc.  All Rights Reserved. By accessing Mitchell.com, each user agrees that they have read and agreed to be bound by the Terms and Conditions governing Mitchell.com and Privacy Policies governing Mitchell.com.
</div>
<!-- END FOOTER -->
</body>
</html>

Open in new window

Avatar of Wayne Barron
Wayne Barron
Flag of United States of America image

Here you go.
Simple and reliable

Read the liner notes about the Form Email address...

<%if request.Form("Submit")="Submit" then
If Request.form("default") = "on" Then
	Response.Write "Checked"
	'send email to person
	' This is where you want the email address to be at, NOT in the form itself, as it can be stolen and harvested and SPAMMED!
Else
	Response.Write "Not Checked"
	' Do not send email to person
End If
end if
%>
<form action="<%= Request.ServerVariables("URL") %>" method="post">
  <input type="checkbox" name="default" />
<input type="submit" name="Submit" value="Submit" />

</form>

Open in new window

Avatar of Pdesignz

ASKER

The way the form script works is that it must be set to get and not post, will this still work? I can send you the script for you to view if you like.

Thanks
I am asp newbie, where would the email addresses go ? I also attached the script for you to view, thanks
<%@ Language = vbscript%>
<%option explicit %>
<%server.scripttimeout = 600 %>
<%
'------------------------------------------- FORMMAIL V1.3 ------------------------------------------

'----------------------------------------------------------------------------------------------------
'copyright information
'----------------------------------------------------------------------------------------------------
'Copyright 2002: Sorted Sites http://www.sortedsites.com
'Authors Jonas Tornqvist, David Parkes and Karl Snares
'This script is Freeware, which means you are free to use and modify 
'the script for your own use.
'The only condition is this copyright header remain intact and you don't 
'try and sell this script for profit without first asking us. 
'And of course also ask Matt Wright who wrote the original perl version of Formmail.

'----------------------------------------------------------------------------------------------------
'license agreement - Important
'----------------------------------------------------------------------------------------------------
'By using this script you agree to indeminfy the developers - Sorted Sites of any loss
'or damages that may arise from its use or missue.
'This script is provided as is with all faults - no warranties and no guarantees.
'basically its free - use it at your own risk and cost.
'No warranties and no tech support - if you need help with this don't ask us!
'The documentation is provided as is with all the help we can offer.
'As we develop this script we shall post updates hopefully fix any bugs
'We are not obliged to release any future versions and we might not bother...
'By using this script you accept this license agreement!

'----------------------------------------------------------------------------------------------------
'documentation v1.3
'----------------------------------------------------------------------------------------------------

'####################################################################################################
'this is where the code starts for real
'####################################################################################################

'----------------------------------------------------------------------------------------------------
'declare variables
'----------------------------------------------------------------------------------------------------
Dim strFrom, strTo, strSubject, strBody
Dim objMessage, objConfig, strServer, intPort
Dim recipient, redirect, subject, FirstName, LastName, Email, CompanyName, BusinessType, Phone, Fax, Title, initiative, DeliveryContent, required, Comments, strEmail1, strEmail2
Dim referer, url, url_verified, icounter, query, iloop, query2, query3, i, agree, validation, error0, error0ok

'############################## CONFIGURATION VARIABLES ####################################

'These are the only lines you will need to change
'----------------------------------------------------------------------------------------------------
strServer = "mail5ntv.mitchell.com" '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.mitchell.com","mitchell.com","dev.mitchell.com","qa.mitchell.com")'Set which urls that will be accepted. http://xxxxx/
	'Seperate multiple domains by commas 
	'eg: url= Array("www.your-domain.com","your-domain.com","www.my-domain.com")
	'computer names can be used instead of domains if this script is being run locally
	'eg: url = Array("computername")

'######################################### IMPORTANT NOTICE #########################################
'IMPORTANT: do not modify anything below this line unless you know what you are doing!!
'######################################### IMPORTANT NOTICE #########################################
	
'----------------------------------------------------------------------------------------------------
'information type and CDOSYS constants
'----------------------------------------------------------------------------------------------------
%>
<!--METADATA TYPE="typelib"
UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
NAME="CDO for Windows 2000 Library" -->
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library" -->
<%
'----------------------------------------------------------------------------------------------------
'retrieved default fields
'----------------------------------------------------------------------------------------------------
recipient = request("recipient")
redirect = request("redirect")
subject = request("subject")
Email = request("Email")
FirstName = request("FirstName")
LastName = request("LastName")
CompanyName = request("CompanyName")
BusinessType = request("BusinessType")
Phone = request("Phone")
Fax = request("Fax")
Title= request("Title")
Comments = request("Comments")
initiative = request("initiative")
DeliveryContent = request("DeliveryContent")
required = request("required") 
if required = "" then
	required = "FirstName,LastName,CompanyName,Phone,Email,recipient,subject,redirect"
else
	required = "FirstName,LastName,CompanyName,Phone,Email,recipient,subject,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("The url specified is invalid!")
	response.End
end if

'----------------------------------------------------------------------------------------------------
'verify the recipient(not tested)
'----------------------------------------------------------------------------------------------------
'trimed_referer = split(referer(2),".")'
'response.write recipient & "<br>" & referer(2) & "=" & trimed_referer(0) & "<br>"
'if trimed_referer(0) = "www" then
'	if InStr(1,recipient,trimed_referer(1),1) = 0 then
'		response.write "recipient don't match the referer"
'		response.end
'	end if
'else
'	if InStr(1,recipient,trimed_referer(0),1) = 0 then
'		response.write "recipient don't match the referer"
'		response.end
'	end if
'end if

'----------------------------------------------------------------------------------------------------
'retrieve form contents and create email fields
'---------------------------------------------------------------------------------------------------- 
query = Request.ServerVariables("QUERY_STRING") 
query = split(query,"&")
query3 = split(required,",")
	For iLoop = Lbound(query) to UBound(query)
		query2 = split(query(iloop),"=")
	
'----------------------------------------------------------------------------------------------------
'form validation, checks required fields are not null
'----------------------------------------------------------------------------------------------------
		for i = LBound(query3) to UBound(query3)
			if query3(i) = query2(0) then
				if query2(1) = "" then
					response.write ("you must enter a valid ") & query2(0)
					response.end
				end if
			end if
			
			'if query2(0) = "agree" then
				'if query2(1) <> "on" or query2(1) = "" then
				'	response.write("You must agree to terms and conditions to enable Formmailv1.3 to execute!")
				'response.end
				'end if
			'end if
			
'----------------------------------------------------------------------------------------------------
'form validation, checks a valid email address has been specified
'----------------------------------------------------------------------------------------------------			
			if query2(0) = "email" then
                    query2(1) = Replace(query2(1), "%40", "@")
				if len(query2(1))<8 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				if instr(query2(1),"@")=0 and instr(query2(1),".")=0 then
					response.write query2(1)
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				strEmail1 = split(query2(1),"@")
				if len(strEmail1(1))<3 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				strEmail2 = split(strEmail1(1),".")
				if len(strEmail2(0))<3 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				if len(strEmail2(1))<2 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
			end if

'----------------------------------------------------------------------------------------------------
'form validation, checks terms and conditions checkbox has been ticked
'----------------------------------------------------------------------------------------------------
			
		Next
		if not query2(0) = "recipient" and not query2(0) = "redirect" and not query2(0) = "subject" and not query2(0) = "FirstName" and not query2(0) = "email" and not query2(0) = "required" and not query2(0) = "agree" then
			strBody = strBody & vbnewline & vbnewline & query2(0) &": " & query2(1) 
		end if
	Next
if email = "" then
	email = "formmail@" & referer(2)
end if
'----------------------------------------------------------------------------------------------------
'replaces any special characters parsed through the query string
'----------------------------------------------------------------------------------------------------
strbody = replace(strbody, "+"," ")
strbody = replace(strbody, "%26%238364%3B","€")
strbody = replace(strbody, "%A1","¡")
strbody = replace(strbody, "%A3","£")
strbody = replace(strbody, "%A8","¨")
strbody = replace(strbody, "%AA","ª")
strbody = replace(strbody, "%AC","¬")
strbody = replace(strbody, "%B4","´")
strbody = replace(strbody, "%B7","·")
strbody = replace(strbody, "%BA","º")
strbody = replace(strbody, "%BF","¿")
strbody = replace(strbody, "%C7","Ç")
strbody = replace(strbody, "%E7","ç")
strbody = replace(strbody, "%0D%0A",vbnewline)
strbody = replace(strbody, "%21","!")
strbody = replace(strbody, "%23","#")
strbody = replace(strbody, "%24","$")
strbody = replace(strbody, "%25","%")
strbody = replace(strbody, "%26","&")
strbody = replace(strbody, "%27","'")
strbody = replace(strbody, "%28","(")
strbody = replace(strbody, "%29",")")
strbody = replace(strbody, "%2B","+")
strbody = replace(strbody, "%2C",",")
strbody = replace(strbody, "%2D","-")
strbody = replace(strbody, "%2E",".")
strbody = replace(strbody, "%2F","/")
strbody = replace(strbody, "%3A",":")
strbody = replace(strbody, "%3B",";")
strbody = replace(strbody, "%3C","<")
strbody = replace(strbody, "%3D","=")
strbody = replace(strbody, "%3E",">")
strbody = replace(strbody, "%3F","?")
strbody = replace(strbody, "%5B","[")
strbody = replace(strbody, "%5C","\")
strbody = replace(strbody, "%5D","]")
strbody = replace(strbody, "%5E","^")
strbody = replace(strbody, "%5F","_")
strbody = replace(strbody, "%60","`")
strbody = replace(strbody, "%7B","{")
strbody = replace(strbody, "%7C","|")
strbody = replace(strbody, "%7D","}")
strbody = replace(strbody, "%7E","~")

'----------------------------------------------------------------------------------------------------
'this creates the body of the mail message, the text in quotes can be modified accordingly 
'---------------------------------------------------------------------------------------------------
strBody = "Here are the results of the form submitted  " & vbnewline &  vbnewline & "Company Name: " & CompanyName & vbnewline & vbnewline & "Business Type: " & BusinessType & vbnewline & vbnewline & "First Name: " & FirstName & vbnewline &  vbnewline & "Last Name: " & LastName & vbnewline &  vbnewline & "Title: " & Title & vbnewline &  vbnewline & "Email: " & email & vbnewline &  vbnewline & "Phone: " & Phone & vbnewline &  vbnewline & "Fax: " & Fax & vbnewline &  vbnewline & "Comments: " & Comments & vbnewline &  vbnewline & "New Initiative? " & initiative & vbnewline &  vbnewline & "Delivery Content? " & DeliveryContent & vbnewline &  vbnewline & "############# End Form Message  #############" 

'----------------------------------------------------------------------------------------------------
'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.From = email
objMessage.Subject = subject
objMessage.Sender = email
objMessage.Textbody = 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("Formmail v1.3 processed all operations successfully!")
else
	response.write("Formmail v1.3 detected the following errors:")& "<br>"
	response.write("error no.: ")&err.number & "<br>"
	response.write("description: ")&err.description & "<br>"
	response.end
End If
On Error Goto 0
	
'----------------------------------------------------------------------------------------------------
'send them to the page specified
'----------------------------------------------------------------------------------------------------
Response.Redirect redirect

'####################################################################################################
'This is where the code ends
'####################################################################################################
%>
<!-- That's All Folks -->
<!-- Happy Surfing -->
<!-- Credits -->
<!-- David Parkes - Project Planning -->
<!-- Jonas Tornqvist - Lead Programmer version 1-->
<!-- Karl Snares - Lead Programmer version 1.2 & 1.3
<!-- Matt Wright - Original Formmail CGI Developer -->

Open in new window

It should be easy to change it to POST instead of GET.
That is a LOT of data sending through a QueryString.

Give this a shot...
This is the QueryString using FORM GET

<%if request.Querystring("Submit")="Submit" then
If Request.Querystring("default") = "on" Then
	Response.Write "Checked"
	'send email to person
	' This is where you want the email address to be at, NOT in the form itself, as it can be stolen and harvested and SPAMMED!
Else
	Response.Write "Not Checked"
	' Do not send email to person
End If
end if
%>
<form action="<%= Request.ServerVariables("URL") %>" method="get">
  <input type="checkbox" name="default" />
<input type="submit" name="Submit" value="Submit" />

</form>

Open in new window

To turn this into a POST
All you should have to do is set the FORM to POST
And then change your Variables to:

recipient = request("recipient")
to
recipient = request.form("recipient")


Good Luck
Carrzkiss
'send email to person - is this where I put the email address
' Do not send email to person - is this where I put the email address

Essentially if not checked I want to send to  user A
IF checked I want to send to user A and B

Thanks
Now, I do not know the code for the mail process, so hopefully this example will get you going in the right Direction.
Now.
In CDOSYS.
If you want to send to multiple people, you do
recipientA&";"&recipientB
This will send to 2 people.
recipientA&";"&recipientB&";"recipientC&";"&recipientD
Will send to 4 people.
(I am sure you get the concept here)

Give this a shot and see if it will work for you.

<%if request.Querystring("Submit")="Submit" then
If Request.Querystring("default") = "on" Then
'Send to user A and User B
recipientA&";"&recipientB
Else
'Send to user A ONLY
recipientA
End If
end if
%>
<form action="<%= Request.ServerVariables("URL") %>" method="get">
  <input type="checkbox" name="default" />
<input type="submit" name="Submit" value="Submit" />

</form>

Open in new window

You should have the script and the form, I sent the form in the original post and the script I  posted in response 3 or 4 comments back. Do I need the request.servervariables in the form action? The current action is set to this, <form id="contactForm" method="get"  action="corp-data-licensing-process.asp" > corp-data-licensing-process.asp being the script file...

Thanks
Does this go in the body, right before the form or should I put this in the <head></head>?
No to: request.servervariables
That is just for testing this script on your local system/server.

Your checkboxes are not suppose to have the same ID name.
ID = Single
Class = Multiple

--------------------------


In your FORM, you need to change the names & ID's of your CheckBoxes to this
<input name="DeliveryContent1" type="checkbox" id="DeliveryContent1" value="Print" />
Print
<input name="DeliveryContent2" type="checkbox" id="DeliveryContent2" value="Web" />
web
<input name="DeliveryContent3" type="checkbox" id="DeliveryContent3" value="CD-ROM " />
CD-ROM

Open in new window


----
In your MAIL Script, go to line: 265
Replace what you have with this.
Change the [recipient] Emails to what they need to be, and remember to add the ; between the multiple email address's.
<%
If Request.Querystring("DeliveryContent1") = "on" Then
recipient = "test@test.com;test2.test.com"
elseIf Request.Querystring("DeliveryContent2") = "on" Then
recipient = "test@test.com"
elseIf Request.Querystring("DeliveryContent3") = "on" Then
recipient = "TestMe@test.com"
end if


set objMessage = CreateObject("CDO.Message")
objMessage.To = recipient
objMessage.From = email
objMessage.Subject = subject
objMessage.Sender = email
objMessage.Textbody = strBody
%>

Open in new window



I swear, you really need to think about sending this stuff as a POST instead of a GET, as your QueryString is going to be long and messy.

Also.
You have a LOT of things in your FORM that DO NOT need to be there.

   <input name="redirect" type="hidden" id="redirect" value="corp-conf.asp">

This needs to go in your MAIL script.

In your Mail Script, line: 301
Change
Response.Redirect redirect
To this
Response.Redirect "corp-conf.asp"

Even this

<input name="subject" type="hidden" id="subject" value="Data Licensing Contact Form">

Should be in your MAIL Script, Replace what I provided above with this instead.

<%
If Request.Querystring("DeliveryContent1") = "on" Then
recipient = "test@test.com;test2.test.com"
elseIf Request.Querystring("DeliveryContent2") = "on" Then
recipient = "test@test.com"
elseIf Request.Querystring("DeliveryContent3") = "on" Then
recipient = "TestMe@test.com"
end if

subject = "Data Licensing Contact Form"

set objMessage = CreateObject("CDO.Message")
objMessage.To = recipient
objMessage.From = email
objMessage.Subject = subject
objMessage.Sender = email
objMessage.Textbody = strBody
%>

Open in new window


There is a LOT more that can be done to clean up your FORM, to make it less cluttered, but this is all that I am going to do on EE.

Good Luck
Carrzkiss
Is this correct for the form action?
<form id="contactForm" method="post"  action="corp-data-licensing-process.asp" >

I get this error, when I try and submit form,

Formmail v1.3 detected the following errors:
error no.: -2147220980
description: At least one recipient is required, but none were found.

Attaching revised mail script
<%@ Language = vbscript%>
<%option explicit %>
<%server.scripttimeout = 600 %>
<%
'------------------------------------------- FORMMAIL V1.3 ------------------------------------------

'----------------------------------------------------------------------------------------------------
'copyright information
'----------------------------------------------------------------------------------------------------
'Copyright 2002: Sorted Sites http://www.sortedsites.com
'Authors Jonas Tornqvist, David Parkes and Karl Snares
'This script is Freeware, which means you are free to use and modify 
'the script for your own use.
'The only condition is this copyright header remain intact and you don't 
'try and sell this script for profit without first asking us. 
'And of course also ask Matt Wright who wrote the original perl version of Formmail.

'----------------------------------------------------------------------------------------------------
'license agreement - Important
'----------------------------------------------------------------------------------------------------
'By using this script you agree to indeminfy the developers - Sorted Sites of any loss
'or damages that may arise from its use or missue.
'This script is provided as is with all faults - no warranties and no guarantees.
'basically its free - use it at your own risk and cost.
'No warranties and no tech support - if you need help with this don't ask us!
'The documentation is provided as is with all the help we can offer.
'As we develop this script we shall post updates hopefully fix any bugs
'We are not obliged to release any future versions and we might not bother...
'By using this script you accept this license agreement!

'----------------------------------------------------------------------------------------------------
'documentation v1.3
'----------------------------------------------------------------------------------------------------

'####################################################################################################
'this is where the code starts for real
'####################################################################################################

'----------------------------------------------------------------------------------------------------
'declare variables
'----------------------------------------------------------------------------------------------------
Dim strFrom, strTo, strSubject, strBody
Dim objMessage, objConfig, strServer, intPort
Dim recipient, redirect, subject, FirstName, LastName, Email, CompanyName, BusinessType, Phone, Fax, Title, initiative, DeliveryContent, required, Comments, strEmail1, strEmail2
Dim referer, url, url_verified, icounter, query, iloop, query2, query3, i, agree, validation, error0, error0ok

'############################## CONFIGURATION VARIABLES ####################################

'These are the only lines you will need to change
'----------------------------------------------------------------------------------------------------
strServer = "mail5ntv.mitchell.com" '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.mitchell.com","mitchell.com","dev.mitchell.com","qa.mitchell.com")'Set which urls that will be accepted. http://xxxxx/
	'Seperate multiple domains by commas 
	'eg: url= Array("www.your-domain.com","your-domain.com","www.my-domain.com")
	'computer names can be used instead of domains if this script is being run locally
	'eg: url = Array("computername")

'######################################### IMPORTANT NOTICE #########################################
'IMPORTANT: do not modify anything below this line unless you know what you are doing!!
'######################################### IMPORTANT NOTICE #########################################
	
'----------------------------------------------------------------------------------------------------
'information type and CDOSYS constants
'----------------------------------------------------------------------------------------------------
%>
<!--METADATA TYPE="typelib"
UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
NAME="CDO for Windows 2000 Library" -->
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library" -->
<%
'----------------------------------------------------------------------------------------------------
'retrieved default fields
'----------------------------------------------------------------------------------------------------
recipient = request.form("recipient")
redirect = request.form("redirect")
subject = request.form("subject")
Email = request.form("Email")
FirstName = request.form("FirstName")
LastName = request.form("LastName")
CompanyName = request.form("CompanyName")
BusinessType = request.form("BusinessType")
Phone = request.form("Phone")
Fax = request.form("Fax")
Title= request.form("Title")
Comments = request.form("Comments")
initiative = request.form("initiative")
DeliveryContent = request.form("DeliveryContent")
required = request.form("required") 
if required = "" then
	required = "FirstName,LastName,CompanyName,Phone,Email,recipient,subject,redirect"
else
	required = "FirstName,LastName,CompanyName,Phone,Email,recipient,subject,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("The url specified is invalid!")
	response.End
end if

'----------------------------------------------------------------------------------------------------
'verify the recipient(not tested)
'----------------------------------------------------------------------------------------------------
'trimed_referer = split(referer(2),".")'
'response.write recipient & "<br>" & referer(2) & "=" & trimed_referer(0) & "<br>"
'if trimed_referer(0) = "www" then
'	if InStr(1,recipient,trimed_referer(1),1) = 0 then
'		response.write "recipient don't match the referer"
'		response.end
'	end if
'else
'	if InStr(1,recipient,trimed_referer(0),1) = 0 then
'		response.write "recipient don't match the referer"
'		response.end
'	end if
'end if

'----------------------------------------------------------------------------------------------------
'retrieve form contents and create email fields
'---------------------------------------------------------------------------------------------------- 
query = Request.ServerVariables("QUERY_STRING") 
query = split(query,"&")
query3 = split(required,",")
	For iLoop = Lbound(query) to UBound(query)
		query2 = split(query(iloop),"=")
	
'----------------------------------------------------------------------------------------------------
'form validation, checks required fields are not null
'----------------------------------------------------------------------------------------------------
		for i = LBound(query3) to UBound(query3)
			if query3(i) = query2(0) then
				if query2(1) = "" then
					response.write ("you must enter a valid ") & query2(0)
					response.end
				end if
			end if
			
			'if query2(0) = "agree" then
				'if query2(1) <> "on" or query2(1) = "" then
				'	response.write("You must agree to terms and conditions to enable Formmailv1.3 to execute!")
				'response.end
				'end if
			'end if
			
'----------------------------------------------------------------------------------------------------
'form validation, checks a valid email address has been specified
'----------------------------------------------------------------------------------------------------			
			if query2(0) = "email" then
                    query2(1) = Replace(query2(1), "%40", "@")
				if len(query2(1))<8 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				if instr(query2(1),"@")=0 and instr(query2(1),".")=0 then
					response.write query2(1)
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				strEmail1 = split(query2(1),"@")
				if len(strEmail1(1))<3 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				strEmail2 = split(strEmail1(1),".")
				if len(strEmail2(0))<3 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
				if len(strEmail2(1))<2 then
					response.Write("You must specify a valid ") & query2(0)
					response.end
				end if
			end if

'----------------------------------------------------------------------------------------------------
'form validation, checks terms and conditions checkbox has been ticked
'----------------------------------------------------------------------------------------------------
			
		Next
		if not query2(0) = "recipient" and not query2(0) = "redirect" and not query2(0) = "subject" and not query2(0) = "FirstName" and not query2(0) = "email" and not query2(0) = "required" and not query2(0) = "agree" then
			strBody = strBody & vbnewline & vbnewline & query2(0) &": " & query2(1) 
		end if
	Next
if email = "" then
	email = "formmail@" & referer(2)
end if
'----------------------------------------------------------------------------------------------------
'replaces any special characters parsed through the query string
'----------------------------------------------------------------------------------------------------
strbody = replace(strbody, "+"," ")
strbody = replace(strbody, "%26%238364%3B","€")
strbody = replace(strbody, "%A1","¡")
strbody = replace(strbody, "%A3","£")
strbody = replace(strbody, "%A8","¨")
strbody = replace(strbody, "%AA","ª")
strbody = replace(strbody, "%AC","¬")
strbody = replace(strbody, "%B4","´")
strbody = replace(strbody, "%B7","·")
strbody = replace(strbody, "%BA","º")
strbody = replace(strbody, "%BF","¿")
strbody = replace(strbody, "%C7","Ç")
strbody = replace(strbody, "%E7","ç")
strbody = replace(strbody, "%0D%0A",vbnewline)
strbody = replace(strbody, "%21","!")
strbody = replace(strbody, "%23","#")
strbody = replace(strbody, "%24","$")
strbody = replace(strbody, "%25","%")
strbody = replace(strbody, "%26","&")
strbody = replace(strbody, "%27","'")
strbody = replace(strbody, "%28","(")
strbody = replace(strbody, "%29",")")
strbody = replace(strbody, "%2B","+")
strbody = replace(strbody, "%2C",",")
strbody = replace(strbody, "%2D","-")
strbody = replace(strbody, "%2E",".")
strbody = replace(strbody, "%2F","/")
strbody = replace(strbody, "%3A",":")
strbody = replace(strbody, "%3B",";")
strbody = replace(strbody, "%3C","<")
strbody = replace(strbody, "%3D","=")
strbody = replace(strbody, "%3E",">")
strbody = replace(strbody, "%3F","?")
strbody = replace(strbody, "%5B","[")
strbody = replace(strbody, "%5C","\")
strbody = replace(strbody, "%5D","]")
strbody = replace(strbody, "%5E","^")
strbody = replace(strbody, "%5F","_")
strbody = replace(strbody, "%60","`")
strbody = replace(strbody, "%7B","{")
strbody = replace(strbody, "%7C","|")
strbody = replace(strbody, "%7D","}")
strbody = replace(strbody, "%7E","~")

'----------------------------------------------------------------------------------------------------
'this creates the body of the mail message, the text in quotes can be modified accordingly 
'---------------------------------------------------------------------------------------------------
strBody = "Here are the results of the form submitted  " & vbnewline &  vbnewline & "Company Name: " & CompanyName & vbnewline & vbnewline & "Business Type: " & BusinessType & vbnewline & vbnewline & "First Name: " & FirstName & vbnewline &  vbnewline & "Last Name: " & LastName & vbnewline &  vbnewline & "Title: " & Title & vbnewline &  vbnewline & "Email: " & email & vbnewline &  vbnewline & "Phone: " & Phone & vbnewline &  vbnewline & "Fax: " & Fax & vbnewline &  vbnewline & "Comments: " & Comments & vbnewline &  vbnewline & "New Initiative? " & initiative & vbnewline &  vbnewline & "Delivery Content? " & DeliveryContent & vbnewline &  vbnewline & "############# End Form Message  #############" 

'----------------------------------------------------------------------------------------------------
'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
'----------------------------------------------------------------------------------------------------	

If Request.Querystring("DeliveryContent1") = "on" Then
recipient = "Paul.DeLagrave@mitchell.com;Rory.Manning@mitchell.com"
elseIf Request.Querystring("DeliveryContent2") = "on" Then
recipient = "Paul.DeLagrave@mitchell.com"
elseIf Request.Querystring("DeliveryContent3") = "on" Then
recipient = "Paul.DeLagrave@mitchell.com"
end if

subject = "Data Licensing Contact Form"

set objMessage = CreateObject("CDO.Message")
objMessage.To = recipient
objMessage.From = email
objMessage.Subject = subject
objMessage.Sender = email
objMessage.Textbody = 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("Formmail v1.3 processed all operations successfully!")
else
	response.write("Formmail v1.3 detected the following errors:")& "<br>"
	response.write("error no.: ")&err.number & "<br>"
	response.write("description: ")&err.description & "<br>"
	response.end
End If
On Error Goto 0
	
'----------------------------------------------------------------------------------------------------
'send them to the page specified
'----------------------------------------------------------------------------------------------------
Response.Redirect "corp-conf.asp"

'####################################################################################################
'This is where the code ends
'####################################################################################################
%>
<!-- That's All Folks -->
<!-- Happy Surfing -->
<!-- Credits -->
<!-- David Parkes - Project Planning -->
<!-- Jonas Tornqvist - Lead Programmer version 1-->
<!-- Karl Snares - Lead Programmer version 1.2 & 1.3
<!-- Matt Wright - Original Formmail CGI Developer -->

Open in new window

Let me ask you this?
#1:
I just download this code from here http://www.sortedsites.com/formmail
And it looks like that is where you got it from.

#2:
DO you have to use this code? As I do not have the time to debug something that I will never use and do not feel like learning at the current time.

#3:
If #2 is "No you do not have to use it"
Then I can make you up a good reliable CDOSYS script that you can use that works out of the box.

Let me know.
Carrzkiss
NO I do not need to use, just seemed like an easy out of the box script to use...

Thanks
ASKER CERTIFIED SOLUTION
Avatar of Wayne Barron
Wayne Barron
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Great work! Thanks