webForumDet fria alternativet

mail med CDOSYS

7 svar · 517 visningar · startad av Sanji

SanjiMedlem sedan juli 2009355 inlägg
#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

SanjiMedlem 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?

voigtann1Medlem 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
%>
SanjiMedlem 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å?

voigtann1Medlem 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.

SanjiMedlem 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.

voigtann1Medlem 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?

SanjiMedlem 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">

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