webForumDet fria alternativet

mail med CDOSYS

ASPur ASP

7 svar · 517 visningar · startad av Sanji

Medlem sedan juli 2009355 inlägg
Frågan#1

hej hej! jag har slängt ihop en sida med ett formulär och sedan lite kod för att skicka iväg den ifyllda informationen från formuläret i ett mail. det jag skriver i formuläret skickas iväg och finns i mailet jag mottar, men jag får ändå ett felmeddelande:

CDO.Message.1 error '8004020d'

At least one of the From or Sender fields is required, and neither was found.

/soeker_form.asp, line 84

<body topmargin="0" leftmargin="0">

<h2>överskrift:</h2>
<TABLE align="left" BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="35%">

<tr>

<form method="post" action="soeker_form.asp">

<td><input type="text" name="fnamn" value="Förnamn" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" /><br/></td>

<td><input type="text" name="enamn" value="Efternamn" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td>

<td><input type="text" name="email" value="Email" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tr>

<td><input type="text" name="marke" value="Märke" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td>

<td><input type="text" name="modell" value="Modell" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td>

<td><input type="text" name="arsmodell" value="Årsmodell" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tr>

<td><input type="text" name="mil" value="Miltal" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td>

<td><input type="text" name="regnr" value="Regnr" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td>

<td><input type="text" name="farg" value="Färg" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"  /><br/></td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tr>

<td colspan="3"><textarea cols="70" rows="6" name="utrustning" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">Utrustning</textarea><br/></td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tr>

<td colspan="3"><textarea cols="70" rows="6" name="ovrig_info" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;">Övrig info</textarea><br/></td></tr>

<tr><td> </td><td> </td><td> </td></tr>

<tr>
<td>
<input type="submit" />
</td>
</tr>
</form>

</td>
</tr>
</TABLE>

<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject=Request.Form("fnamn") & Request.Form("enamn") & " vill sälja sin motorcykel"
myMail.From=Request.Form("email")
myMail.To="monsterbadboll@hotmail.com"
myMail.TextBody=Request.Form("fnamn") & Request.Form("enamn") & " har en " & Request.Form("marke") & " " & Request.Form("modell") & " från " & Request.Form("arsmodell") & " som gått " & Request.Form("mil") & " mil. "
myMail.Send
set myMail=nothing
%>

</body>

har gjort några google-sökningar och hittat andra personer som har haft liknande problem, men dessa har inte fått med alla värden de fyllt i, vilket jag får.

Mvh. Sanji

Medlem sedan juli 2009355 inlägg
#2

jag såg nu att felmeddelandet visas bara innan man submittat formuläret. efter man skickat iväg det så försvinner felmeddelandet. kan det ha något att göra med att jag inte lagt mailkoden i en funktion?

Medlem sedan juni 20019 519 inlägg
#3

Du skall inte köra din kod förrän du postar ditt formulär, nu körs koden direkt.

<%
If Request.Form.Count > 0 Then
    Set myMail=CreateObject("CDO.Message")
    myMail.Subject=Request.Form("fnamn") & Request.Form("enamn") & " vill sälja sin motorcykel"
    myMail.From=Request.Form("email")
    myMail.To="monsterbadboll@hotmail.com"
    myMail.TextBody=Request.Form("fnamn") & Request.Form("enamn") & " har en " & Request.Form("marke") & " " & Request.Form("modell") & " från " & Request.Form("arsmodell") & " som gått " & Request.Form("mil") & " mil. "
    myMail.Send
    set myMail=nothing
End If
%>
Medlem sedan juli 2009355 inlägg
#4

ja precis, det var det jag tänkte! men ska man göra en funktion av den eller bara en if-sats? jag funderade på, man kan väl inte använda onsubmit för att köra en funktion som skrivits i asp, det är väl javascript... något tips på hur jag kan göra då?

Medlem sedan juni 20019 519 inlägg
#5

Du behöver inte skapa någon funktion, visst kan du göra det men då skall ju en funktion kunna återanvändas vilket man få ta hänsyn på det. onsubmit är ett event (webbläsare). Vet inte riktigt vad du är ute efter med javascript, du kan postar det som AJAX postning om du vill det... utveckla gärna din fråga.

Medlem sedan juli 2009355 inlägg
#6

då får jag väl göra en egen sida för mail-scriptet, då borde detta inte vara något problem... då jag inte orkar krångla med att få till det på samma sida som formuläret.

Medlem sedan juni 20019 519 inlägg
#7

Sanji skrev:

då jag inte orkar krångla med att få till det på samma sida som formuläret.

Det är ju det du har nu ju? Och med If frågan som jag skrev så är du ju färdig med skriptet, så jag vet inte vad du menar med att krångla med det, nu missförstå jag väl dig igen kanske?

Medlem sedan juli 2009355 inlägg
#8

det är lättare att göra så här: <form action="annan_sida.asp"> istället för <form action="samma_sida.asp">

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