Hi this is my first asp form so please be gentle with me :) I've setup this form and when I test it and 'send' the email isn't coming through. Can anyone spot a problem in the code?

Thanks for your help

FORM Code

<div class="feedback">
				<form action="sendorder.asp" method="post" name="frmInput">
					<table>
						<tr>
							<td bgcolor="#E0E0E0"><b>Download now?</b></td>
							<td bgcolor="#E0E0E0"><b>Publication title </b></td>
							<td colspan="2" bgcolor="#E0E0E0"><b>How many copies? </b></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/action-plan-booklet.pdf">Yes</a></td>
							<td><label for="actionplan">The Pay and Employment Equity Plan of Action</label></td>
							<td colspan="2"><input type="text" id="actionplan" name="actionplan" size="3"/></td>
						</tr>
						<tr>
							<td colspan="4" bgcolor="#E0E0E0"><b>Fact Sheets </b></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-1-what-is-pee-ed3.pdf">Yes</a></td>
							<td><label for="whatpeeu">What is Pay and Employment Equity?</label></td>
							<td colspan="2"><input type="text" id="whatpeeu" name="whatpeeu" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-2-pee-plan-of-action-ed3.pdf">Yes</a></td>
							<td><label for="peeuaction">Pay and Employment Equity Plan of Action</label></td>
							<td colspan="2"><input type="text" id="peeuaction" name="peeuaction" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-3-joint-working-ed3.pdf">Yes</a></td>
							<td><label for="review">Working in a Joint Employer/Union Review Committee on Pay and Employment Equity</label></td>
							<td colspan="2"><input type="text" id="review" name="review" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-4-history-of-pee-in-nz-ed2.pdf">Yes</a></td>
							<td><label for="history">The History of Pay and Employment Equity in New Zealand</label>							</td><td colspan="2"><input type="text" id="history" name="history" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-5-definitions-ed3.pdf">Yes</a></td>
							<td><label for="definition">Definitions of Pay and Employment Equity Terms</label></td>
							<td colspan="2"><input type="text" id="definition" name="definition" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-6-pee-contestable-fund-ed3.pdf">Yes</a></td>
							<td><label for="fund ">Pay and Employment Equity Contestable Fund</label></td>
							<td colspan="2"><input type="text" id="fund" name="fund" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-7-pdf-faq.pdf">Yes</a></td>
							<td><label for="faqs">Frequently Asked Questions</label></td>
							<td colspan="2"><input type="text" id="faqs" name="faqs" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-8-pay-investigations.pdf">Yes</a></td>
							<td><label for="payinvestigations">Pay Investigations</label></td>
							<td colspan="2"><input type="text" id="payinvestigations" name="payinvestigations"  size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/fact-sheets/factsheet-9-equitable-job-evaluation.pdf">Yes</a></td>
							<td><label for="jobevaluation">Equitable Job Evaluation</label></td>
							<td colspan="2"><input type="text" id="jobevaluation" name="jobevaluation" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/news/reports/peeu-annual-report-05-06.pdf">Yes</a></td>
							<td><label for="annualreport">Steering Group Annual Report 05/06 </label></td>
							<td colspan="2"><input type="text" id="annualreport" name="annualreport" size="3"/></td>
						</tr>
						<tr>
							<td colspan="4" bgcolor="#E0E0E0"><b>Case Studies</b><br/>The case studies provide review committees with a further practical resource, alongside the review workbook and the training programmes, of key learnings from organisations that have already conducted reviews. Summary and full case study versions are available.</td>
						</tr>
						<tr>
							<td colspan="2">&nbsp;</td>
							<td width="37">Sum.</td>
							<td width="41">Full</td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/case-studies/dol-full.pdf">Yes</a></td>
							<td><label for="sumdol">MyCompany</label></td>
							<td><input type="text" id="sumdol" name="sumdol" size="3"/></td>
							<td><input type="text" id="fulldol" name="fulldol" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/case-studies/ero-full.pdf">Yes</a></td>
							<td><label for="sumero">Education Review Office</label></td>
							<td><input type="text" id="sumero" name="sumero" size="3"/></td>
							<td><input type="text" id="fullero" name="fullero" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/case-studies/ssc-full.pdf">Yes</a></td>
							<td><label for="sumscc">Blue Station</label></td>
							<td><input type="text" id="sumscc" name="sumscc" size="3"/></td>
							<td><input type="text" id="fullscc" name="fullscc" size="3"/></td>
						</tr>
						<tr>
							<td colspan="4" bgcolor="#E0E0E0"><b>Assessment Tools</b></td>
						</tr>
						<tr>
							<td width="102"><a href="/services/PayAndEmploymentEquity/resources/assessment-tools/workbook.asp">Yes</a></td>
							<td width="338"><label for="workbook">Workbook</label></td>
							<td colspan="2"><input type="text" id="workbook" name="workbook" size="3"/></td>
						</tr>
						<tr>
							<td><a href="/services/PayAndEmploymentEquity/resources/eje-guidelines.asp">Yes</a></td>
							<td><label for="jetool">Equitable Job Evaluation Information</label></td>
							<td colspan="2"><input type="text" id="jetool" name="jetool" size="3"/></td>
						</tr>
					</table>
					<table width="400">
						<tr>
							<th colspan="2" align="left" valign="top" bgcolor="#E0E0E0">Your Details</th>
						</tr>
						<tr>
							<th width="150" align="left" valign="top"><label for="name">Name:</label></th>
							<td><input type="text" size="40" id="name" name="name"/></td>
						</tr>
						<tr>
							<th width="150" align="left" valign="top"><label for="organisation">Organisation:</label></th>
							<td><input type="text" size="40" id="organisation" name="organisation"/></td>
						</tr>
						<tr>
							<th width="150" align="left" valign="top"><label for="postaladdress">Postal Address:</label></th>
							<td><textarea rows="5" id="postaladdress" name="postaladdress" cols="30"></textarea></td>
						</tr>
						<tr>
							<th width="150" align="left" valign="top"><label for="email">Email:</label></th>
							<td><input type="text" size="40" id="email" name="email"/></td>
						</tr>
						<tr>
							<td colspan="2" align="left" valign="top"><br/><input name="submit" type="submit" value="s e n d   o r d e r"/>
							&nbsp;</td>
						</tr>
					</table>
				</form>
			  <p>
					<br/>
				</p>
			</div>

POST CODE

<%

' declare variables
Dim EmailFrom
Dim EmailTo
Dim Subject
Dim Name
Dim Organisation
Dim PostalAddress
Dim Email
Dim Workbook
Dim actionplan
Dim whatpeeu
Dim peeuaction
Dim review
Dim history
Dim definition
Dim fund
Dim faqs
Dim payinvestigations
Dim jobevaluation
Dim annualreport
Dim sumdol
Dim fulldol
Dim sumero
Dim fullero
Dim sumscc
Dim fullscc
Dim jetool

' get posted data into variables
EmailFrom = Trim(Request.Form("EmailFrom")) 
EmailTo = "myemail@myemail.com"
Subject = Trim(Request.Form("Subject")) 
Name = Trim(Request.Form("Name")) 
Email = Trim(Request.Form("Email")) 
Organisation = Trim(Request.Form("Organisation")) 
PostalAddress = Trim(Request.Form("PostalAddress")) 
Workbook = Trim(Request.Form("Workbook"))
actionplan = Trim(Request.Form("actionplan"))
whatpeeu = Trim(Request.Form("whatpeeu"))
peeuaction = Trim(Request.Form("peeuaction"))
review = Trim(Request.Form("review"))
history = Trim(Request.Form("history"))
definition = Trim(Request.Form("definition"))
fund = Trim(Request.Form("fund"))
faqs = Trim(Request.Form("faqs"))
payinvestigations = Trim(Request.Form("payinvestigations"))
jobevaluation = Trim(Request.Form("jobevaluation"))
annualreport = Trim(Request.Form("annualreport"))
sumdol = Trim(Request.Form("sumdol"))
fullero = Trim(Request.Form("fullero"))
sumero = Trim(Request.Form("sumero"))
fullero = Trim(Request.Form("fullero"))
sumscc = Trim(Request.Form("sumscc"))
fullscc = Trim(Request.Form("fullscc"))
jetool = Trim(Request.Form("jetool"))


' prepare email body text
Dim Body
Body = Body & "Name: " & Name & VbCrLf
Body = Body & "Organisation: " & Organisation & VbCrLf
Body = Body & "Postal Address: " & PostalAddress & VbCrLf
Body = Body & "Email: " & Email & VbCrLf
Body = Body & "Workbook: " & Workbook & VbCrLf
Body = Body & "The Pay and Employment Equity Plan of Action: " & actionplan & VbCrLf
Body = Body & "What is Pay and Employment Equity?: " & whatpeeu & VbCrLf
Body = Body & "Working in a Joint Employer/Union Review Committee on Pay and Employment Equity: " & review & VbCrLf
Body = Body & "The History of Pay and Employment Equity: " & history & VbCrLf
Body = Body & "Definitions of Pay and Employment Equity Terms: " & definition & VbCrLf
Body = Body & "Pay and Employment Equity Contestable Fund: " & fund & VbCrLf
Body = Body & "Frequently Asked Questions: " & faqs & VbCrLf
Body = Body & "Pay Investigations: " & payinvestigations & VbCrLf
Body = Body & "Equitable Job Evaluation: " & jobevaluation & VbCrLf
Body = Body & "Steering Group Annual Report: " & annualreport & VbCrLf
Body = Body & "Case Study: MyCompany, Summary: " & sumdol & VbCrLf
Body = Body & "Case Study: MyCompany, Full: " & fulldol & VbCrLf
Body = Body & "Case Study: Education Review Office, Summary: " & sumero & VbCrLf
Body = Body & "Case Study: Education Review Office, Full: " & fullero & VbCrLf
Body = Body & "Case Study: Blue Station, Summary: " & sumscc & VbCrLf
Body = Body & "Case Study: Blue Station, Full: " & fullscc & VbCrLf
Body = Body & "Assessment Details: Equitable Job Evaluation Information: " & jetool & VbCrLf


	Set Email = Server.CreateObject("CDO.Message")
	Set EMailConfig = Server.CreateObject("CDO.Configuration") 'calls CDO configuration COM object
	'Set Flds = EmailConfig.Fields
	
	With EmailConfig.Fields
		.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 'tells cdo we are using the local smtp service
		.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\inetpub\mailroot\pickup" 'verify that this path is correct
		.Update 'updates CDOs configuration
	End With
	
	With Email
		.Configuration = EMailConfig
		.From = "Stuff Website"
		.Subject = "Publications Order"
		.TextBody = body
		.To = "myemail@myemail.com"
		.Send
	End With

	Set EMailConfig = nothing
	Set Email = Nothing
	
	Response.Redirect "orderdone.asp"
%>

The only thing I can see which looks like it would cause a problem is:

.From = "Stuff Website"

.From should contain an email address.

Are you receiving any errors?

Also what might just make it look cleaner and shorter code, you can set your variables when you delcare them. This might help you in the future for debugging as everything you need is right there:

Dim strName = Trim(Request.Form("name"))

Also, with asp, you should stick with declaring the variables with what they are:

int for integer, str for string

Dim strName = Trim(Request.Form("name"))

This lets the server know that what you are playing with is a string or integer. Just faster and less prone to accidents.

Also what might just make it look cleaner and shorter code, you can set your variables when you delcare them. This might help you in the future for debugging as everything you need is right there:

Dim strName = Trim(Request.Form("name"))

I don't think that's valid in Classic ASP, but you could just as easily do this:

Dim strName:strName = Trim(Request.Form("name"))

always worked for me. In asp.net you have to declare it before setting it:

dim strHelp As String = whatever

However, that might depend on asp version. I have never really checked.

odd, but okay. I believe I only worked in asp 2.0, but anyway.. my current sites still function correctly with that syntax. Regardless, thanks for the knowledge.

This article has been dead for over six months. Start a new discussion instead.