Problem sending data info with Jmail page.

K

Kingdom

I have a SelectBoxes.asp page that is working with multiple selection
dropdown boxes to extract data and total the selection prices.
Tom & Bob were kind enough to give me a big help getting this page
working and it's working just fine, no problems with this page.

However I then would like this data e-mailed using jmail (my host insists
on this method) and that is the function of the sendEMail2.asp page.

This is failing and only giving me a HTTP 500 - Internal server error and
I'm at a loss as to what's wrong.

Any help/sugestions with this would be appreciated, code for both pages
below.

=========================================================================
SelectBoxes.asp
=========================================================================

<%@ Language=VBScript %>
<% Option Explicit
Response.Expires = -10000


Dim mComponentRS
Set mComponentRS = Server.CreateObject("ADODB.RecordSet")

Sub GetComponentNameAndPrice(aComponentID, byref aConnection, byref
aComponentName, byref aComponentPrice)
Dim mComponentSQL

mComponentSQL = "select " &_
"component_name," &_
"price " &_
"from " &_
"parts_table " &_
"where " &_
"uniqueid = " & aComponentID

mComponentRS.Open mComponentSQL, aConnection

If mComponentRS.EOF Then
aComponentName = ""
aComponentPrice = 0
Else
aComponentName = mComponentRS("component_name")
aComponentPrice = mComponentRS("price")
End If

mComponentRS.Close
End Sub

%>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-
1252">
<meta http-equiv="Content-Language" content="en-us">
<title>Build PC</title>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">

<style fprolloverstyle>A:hover {color: red; font-weight: bold}
</style>

<meta name="Microsoft Theme" content="tp-or12 1110">
<meta name="Microsoft Border" content="tlb, default">
</head>

<BODY>
<font color="#000080" size="2"> <span lang="en-gb"><font face="Arial">
<br>
You can now design your own custom built system
online using our component database. <br>
Select the parts you require from the dropdown selections then click <b>
Go</b>
to display your selection here.<b><br>
</b></font>
</span></font><font face="Arial"><Br>

<%
Dim sConnectionString
'sConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" &
Server.MapPath("\data\databasedb.mdb")
sConnectionString="dsn=database1"
%>
<%
Dim oCN
Dim oRS
Dim sSQL

sSQL="SELECT UniqueID, Component_Type, Price, Component_Name, Image
FROM Parts_Table ORDER BY Component_Type, Component_Name"
Set oCN=CreateObject("ADODB.Connection")
oCN.Open sConnectionString
Set oRS=oCN.Execute(sSQL)


'FOR Display & DEBUGGING

If Request.Form("Case") <> "" Then
Dim field
Dim mComponentName, mComponentPrice, mComponentTotal
mComponentTotal = 0

Response.Write "<form method=""post""
action=""SendEMail2.asp"">"

Response.Write "<table border='0' cellspacing='1'
cellpadding='1' width='400'>"
Response.Write "<tr><td><b>Component</b></td><td
align='right'><b>£</b></td></tr>"

Dim mComponentCount
mComponentCount = 0

for each field in Request.Form
mComponentCount = mComponentCount + 1

'Response.Write "<li>" & Request.Form(field) & ": " &
field & "</li>"

GetComponentNameAndPrice Request.Form(field), oCN,
mComponentName, mComponentPrice

Response.Write "<tr>"

Response.Write "<td>" & mComponentName
Response.Write "<input type='hidden' name='Component" &
mComponentCount & "' value='" & mComponentName & "' />"
Response.Write "</td>"

Response.Write "<td align='right'>" & mComponentPrice
Response.Write "<input type='hidden'
name='ComponentPrice" & mComponentCount & "' value='" & mComponentPrice &
"' />"
Response.Write "</td>"

Response.Write "</tr>"

mComponentTotal = mComponentTotal + mComponentPrice
Next

Response.Write "<tr><td align='right'><b>Total:</b></td><td>
£" & mComponentTotal
Response.Write "<input type='hidden'
name='ComponentPriceTotal' value='" & mComponentTotal & "' />"
Response.Write "<input type='hidden' name='ComponentCount'
value='" & mComponentCount & "' />"
Response.Write "</td></tr>"

'END Display & DEBUGGING

Response.Write "<tr><td colspan='2'>"
Response.Write "This is not a sale, no payment is requsted at
this time. Please submit your order and a member of our sales team will
contact you."
Response.Write "</td></tr>"

Response.Write "</table>"

Response.Write "<input type=""submit"" value="" Submit to
sales team "" />"
Response.Write "</form>"
End If

%> </font>

<br /><br />

<form method=Post action=SelectBoxes.asp>
</form>
<% call GetSelectBoxes%>
<font face="Arial">

<table border="0" cellspacing="0">
<tr>
<td>
<input type=submit value=Go> <span lang="en-gb"></span>
</form>
</td>
<td>
<form method="post" action="SelectBoxes.asp"><input type="submit"
value=" Reset " /></form></font>
</form>
</td>
</table>

<font face="Arial" size="2">You can make as many changes as you require,
just select
<b>Go</b> again to update</font>

<%
Sub GetSelectBoxes()

if not oRS.EOF then
Dim sCurrentBox
Dim bIsFirst
bIsFirst=true


Dim mCurrentSelectedValue

Do While not oRS.EOF
'OK, we have our recordset.
'Let's go through each "thingy" and create a box for
it.
if sCurrentBox <> oRS.Fields("Component_Type") then

'it's time for a new select box.
'but first, let's close the last box.
if bIsFirst=false then
'make sure it's not the first select box.
Response.Write "</select><br>" & vbCrLf
else
bIsFirst=false
end if

'Create a line space between each box
Response.Write ("<br>")
'OK, create the new box.

sCurrentBox=oRS.Fields("Component_Type")
mCurrentSelectedValue = Request.Form(sCurrentBox)

Response.Write sCurrentBox & ": <select name=""" & sCurrentBox
& """>" & vbCrLf

end if

'Now add the individual item
Response.Write vbTab & "<option value=""" & oRS.Fields
("UniqueID") & """"

If mCurrentSelectedValue <> "" Then
If mCurrentSelectedValue = CStr(trim(oRS.Fields
("uniqueid"))) Then
Response.Write " selected "
End If
End If

Response.Write ">" & trim(oRS.Fields("Component_Name")) & " :
" & " £" & trim(oRS.Fields("Price")) & "</option>" & vbCrLf


oRS.MoveNext

Loop

'Let's close that last one
Response.Write "</select>" & vbCrLf


end if

Set oRS=nothing
oCN.Close
Set oCN=nothing
End Sub

%> </BODY>
</HTML>


====================================================================
sendEMail2.asp page
====================================================================

<%
Option Explicit
Response.Expires = -10000
%>



<%

Dim mEMailBody

Dim mComponentLoop
Dim mComponentCount

mComponentCount = Request.Form("ComponentCount")

Response.Write "This is the confirmation page.<br /><br />"

mEMailBody = mEMailBody & "<table border='0' cellspacing='1'
cellpadding='1' width='400'>"
mEMailBody = mEMailBody & "<tr><td><b>Component</b></td><td
align='right'><b>£</b></td></tr>"

For mComponentLoop = 1 to mComponentCount
mEMailBody = mEMailBody & "<tr>"
mEMailBody = mEMailBody & "<td>" & Request.Form("Component" &
mComponentLoop) & "</td>"
mEMailBody = mEMailBody & "<td align='right'>" & Request.Form
("ComponentPrice" & mComponentLoop) & "</td>"
mEMailBody = mEMailBody & "</tr>"
Next

mEMailBody = mEMailBody & "<tr><td align='right'><b>Total:</b></td><td>
£" & Request.Form("ComponentPriceTotal") & "</td></tr>"
mEMailBody = mEMailBody & "</table>"

Response.Write mEMailBody


'start email section

Set JMail = Server.CreateObject ("JMail.SMTPMail")
JMail.ServerAddress = "hostserver.net" 'actual server address removed
JMail.Sender = Name
JMail.ReplyTo = Email
JMail.Subject = Subject
JMail.AddRecipient Recipient
JMail.Body = Name & Email & Tel & vbCrLf & BodyText
JMail.Priority = 3
JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.Execute

Response.Redirect("formthanks.html")
Else
'do nothing, just display blank form

End IF
ODBCConnection.Close
Set ODBCConnection=Nothing

Response.Write "<form method='post' action='SendEMail.asp'>"
Response.Write "Name:<input type='text' name='Name' value='' /><br />"
Response.Write "EMail Address:<input type='text' name='EMail' value='' />
<br />"
Response.Write "Tel No:<input type='text' name='Tel' value='' /><br />"
Response.Write "<input type=""hidden"" name=""Recipient""
value=""(e-mail address removed)"" /><br /> 'actual e-mail address removed
Response.Write "<input type=""hidden"" name=""BodyText"" value=""" &
mEMailBody & """ />"
Response.Write "<input type=""submit"" value="" Send EMail "" /><br />"
Response.Write "</form>"
%>
 
K

Kingdom

IE > tools > options > advanced > DONT show friendly errors will give
the true problem
I learn something new every day, thanks for that info.

I got

Microsoft VBScript compilation error '800a03ea'

Syntax error

/SendEMail2.asp, line 50

Else
^
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top