webForumDet fria alternativet

Jmailproblem

3 svar · 379 visningar · startad av reka1

reka1Medlem sedan sep. 2001650 inlägg
#1

God afton!
Besökaren ska kunna välja att svara på en annons eller tipsa en kompis om annonsen. (se kod nedan)


<%if request.form("inTipsa") = "Tipsa" then%>
	<span class="textB">
        <form method="post" action="posta.asp" name="reply">
	<input type="hidden" name="chrPosta" value="x">
	<table>
	<tr><td colspan="2">Tipsa en kompis om annonsen.</td></tr>
	<tr><td>Din kompis epostadress: </td><td><input type="text" name="strEmail"></td></tr>
	<tr><td>Ditt namn : </td><td><input type="text" name="strSenderName"></td></tr></table>

	<input type="hidden" name="strReply" value="<%=request.form("strAd")%>"><br/>
	<input type="submit" value="Sänd">
	</form>
	</span>
			
<%else%>
	
	<span class="textB">
	<form method="post" action="posta.asp" name="reply">
	Din epostadress: <input type="text" name="strSenderMail"></br><br/>
	<input type="hidden" name="chrPosta" value="y">
	<input type="hidden" name="strEmail" value="<%=request.form("strEmail")%>">
	<textarea cols="73" rows="9" name="strReply"></textarea><br/><br/>
	<input type="submit" value="Sänd">
	</form>
	</span>
<%end if%>

Väljer besökaren att kontakta annonsören fungerar det och annonsören får e-brevet. Men väljer man att tipsa en kompis så kommer ingen e-post.

<%
recipient   = Request.Form("strEmail")
senderEmail = request.form("strSenderMail")

if request.form("chrPosta") = "y" then
        subject    =  "Svar på din oddjobb.se-annons" 
	body  = Request.Form("strReply")
				
elseif request.form("chrPosta") = "x" then
	name  = Request.Form("strSenderName")
	body = "Nu då"
	subject = "Intressant för dig?"
end if

' Create the JMail message Object
set jmail = Server.CreateOBject( "JMail.smtpmail" )

jmail.ServerAddress = "smtp.m6.webbhotellsgruppen.se"
jmail.silent = TRUE
     
'jmail.ContentType = "text/html"
jmail.ContentType = "text/plain"

' Set Sender Information
jmail.Sender = SenderEmail
jmail.ReplyTo = SenderEmail
'jmail.sendername = SenderEmail

' Recipient Address and Name
jmail.AddRecipientEx recipient, ""
   
' Set the Subject and Body
jmail.subject = Subject

jmail.Body = body

' Send Email - Perform Error Checking
jmail.Execute%>

<!-- #include file="inc/searchfield.asp"-->
<%If jmail.errormessage <> "" Then
	Response.write "<pre>" & jmail.errormessage & "</pre>"
else
	Response.write "Meddelandet är skickat."
end if
set jmail = nothing%>

Skriver man ut variablerna så ser dessa helt ok.
Något förslag?

emissionMedlem sedan dec. 19996 721 inlägg
#2

Skriv ut alla variablerna precis före Execute, och undersök närmre.

reka1Medlem sedan sep. 2001650 inlägg
#3

Jo, jag har redan testat det och allt har sett ok ut. Problemet är dock löst.
Det blev en "ful-lösning" som består av två st asp-filer istället för en fil med en if-sats.
Känns lite trist men det är för dåligt med tid att expermintera vidare.

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

Lite OT, men <span> är ett inline-element och kan inte innehålla block-element som t.ex. <form>.
Använd ett block-element som t.ex. <div> istället.

Sen så p.g.a. att ingen HTMLEncode görs på t.ex. <%=request.form("strAd")%> så kan det bli fel om den innehåller citattecken. Kan i värsta fall öppna upp Cross-site scripting säkerhetshål.

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)