Avatar billede stengaard Praktikant
17. oktober 2004 - 13:57 Der er 20 kommentarer og
1 løsning

mailformular til asp

kan man lave denne mailformular om så man kan vælge mellem f.eks. 3 forskellige modtager:

<body>
<form method="post" action="mail_sender.asp"
enctype="mutipart/form-data">

<fieldset>
<legend><font size="5">Husk at udfylde alle felter</legend></font><p>
<label for="t1">Navn:</label>
<input id="t1" type="text" name="name" size="20" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="email" size="20" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="subject" size="20" /><p>

<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10" cols="50"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" name="submit" value="Send" />
&nbsp; &nbsp;
<input type="reset" value="Slet" />
</fieldset>
</form>

og hvordan skal mail_sender så se ud den jeg har sender kun til en og samme person:

<%
Name = Request.form("name")
Recipient = Request.form("email")
subject = Request.form("subject")
SenderEmail = "admin@lkongen.dk"
message =  Request.form("message")
ip = Request.ServerVariables("REMOTE_ADDR")

      set msg = Server.CreateOBject( "JMail.Message" )
     
      msg.Logging = true
      msg.silent = true
     
      msg.From = SenderEmail
      msg.FromName = Name
      msg.AddRecipient Recipient
      msg.Subject = Subject

    msg.Body = "Fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "email: " & senderEmail & vbCrLf & "Emne: "  & subject & vbCrLf & "Besked: " & message & vbCrLf & body

'.Send skal være en mail server adresse ikke email adresse
if not msg.Send("127.0.0.1") then
msg.Send("mail@lkongen.dk")
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "&<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & Recipient & "'>" & Recipient & "</a><br /><br /><b>IP-adresse: </b>" & ip & "<br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Besked: </b>" & message & "<br /><br />Din Besked er modtaget. Jeg vender tilbage så hurtigt som muligt Webmaster." & "</p>"end if
%>
Avatar billede apo Praktikant
17. oktober 2004 - 14:02 #1
Du kan vel bare lave en selectbox med tre mailadresser, og hente inputet:

Recipient = Recipient = Request.form("email")

Hvis du ikke vil have dine mailadresser offentliggjorte, kan du lave en if-sætning:

If Recipient = "Mail1" Then
  Repicpient = "mail1@mail.dk"
Else If Recipient = "Mail2" Then
  Repicpient = "mail2@mail.dk"
Else
  Repicpient = "mail3@mail.dk"
End If

Apo
Avatar billede apo Praktikant
17. oktober 2004 - 14:09 #2
Hov... Retter lige:

Recipient = Recipient = Request.form("email")

Til:

Recipient = Request.form("email") ;-)

Apo
Avatar billede apo Praktikant
17. oktober 2004 - 14:14 #3
Eksempel på selectboxen:

<select name="email" size="1">
<option value="Mail1">Mail1</option>
<option value="Mail2">Mail2</option>
<option value="Mail3">Mail3</option>
</select>

Herefter henter du data med:

<%
Recipient = Request.form("email")

' Og validerer med:

If Recipient = "Mail1" Then
    Repicpient = "mail1@mail.dk"
Else If Recipient = "Mail2" Then
    Repicpient = "mail2@mail.dk"
Else
    Repicpient = "mail3@mail.dk"
End If
%>

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:18 #4
<%
Recipient = Request.form("email")

' Og validerer med:

If Recipient = "Mail1" Then
    Repicpient = "mail1@mail.dk"
Else If Recipient = "Mail2" Then
    Repicpient = "mail2@mail.dk"
Else
    Repicpient = "mail3@mail.dk"
End If
%>


skal dette være med i formular eller i mail_sender.asp

og hvor skal de så ind og hvad skal skiftes ud
Avatar billede apo Praktikant
17. oktober 2004 - 14:24 #5
Du udskrifter (i formularen):
<input id="t2" type="text" name="email" size="20" />

med:

<select name="email" size="1">
<option value="Mail1">Mail1</option>
<option value="Mail2">Mail2</option>
<option value="Mail3">Mail3</option>
</select>

Herefter udskifter du (i mail_sender.asp):

<%
Name = Request.form("name")
Recipient = Request.form("email")
subject = Request.form("subject")
SenderEmail = "admin@lkongen.dk"
message =  Request.form("message")
ip = Request.ServerVariables("REMOTE_ADDR")
...
%>

Med:

<%
Name = Request.form("name")
Recipient = Request.form("email")
If Recipient = "Mail1" Then
    Repicpient = "mail1@mail.dk"
Else If Recipient = "Mail2" Then
    Repicpient = "mail2@mail.dk"
Else
    Repicpient = "mail3@mail.dk"
End If
subject = Request.form("subject")
SenderEmail = "admin@lkongen.dk"
message =  Request.form("message")
ip = Request.ServerVariables("REMOTE_ADDR")
...
%>

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:31 #6
jeg kan ikke udskifte denne linie da det er den person der skriver mailen skal udfylde sin email her

Du udskrifter (i formularen):
<input id="t2" type="text" name="email" size="20" />

men mormularen ser sådan ud nu er det rigtigt

<form method="post" action="mail_sender.asp"
enctype="mutipart/form-data">

<fieldset>
<legend><font size="5">Husk at udfylde alle felter</legend></font><p>

<label for="t6">Modtager: </label><select name="Modtagers Email Adresse" size="1">
<option value="Mail1">Skriv til Stengaard</option>
<option value="Mail2">Skriv til Josephine</option>
<option value="Mail3">Skriv til Webmaster</option>
</select><br />

<label for="t1">Dit Navn:</label>&nbsp;
<input id="t1" type="text" name="name" size="20" /><br />

<label for="t2">Din Email:</label>
<input id="t2" type="text" name="email" size="20" /><br />

<label for="t3">Emne:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input id="t3" type="text" name="subject" size="20" /><p>

<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10" cols="50"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" name="submit" value="Send" />
&nbsp; &nbsp;
<input type="reset" value="Slet" />
</fieldset>
</form>
Avatar billede apo Praktikant
17. oktober 2004 - 14:35 #7
Min fejl :-O

Men nu ser dit eksempel rigtigt ud :-)

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:38 #8
ok hvad med mail_sender.asp er den også rigtig nu:

<%
Name = Request.form("name")
Recipient = Request.form("email")
If Recipient = "Mail1" Then
    Repicpient = "hstengaard@get2net.dk"
Else If Recipient = "Mail2" Then
    Repicpient = "josephinestengaard@hotmail.dk"
Else
    Repicpient = "admin@familien-stengaard.dk"
End If
subject = Request.form("subject")
SenderEmail = "admin@lkongen.dk"
message =  Request.form("message")
ip = Request.ServerVariables("REMOTE_ADDR")

      set msg = Server.CreateOBject( "JMail.Message" )
     
      msg.Logging = true
      msg.silent = true
     
      msg.From = SenderEmail
      msg.FromName = Name
      msg.AddRecipient Recipient
      msg.Subject = Subject

    msg.Body = "Fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "email: " & senderEmail & vbCrLf & "Emne: "  & subject & vbCrLf & "Besked: " & message & vbCrLf & body

'.Send skal være en mail server adresse ikke email adresse
if not msg.Send("127.0.0.1") then
msg.Send("mail@lkongen.dk")
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "&<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & Recipient & "'>" & Recipient & "</a><br /><br /><b>IP-adresse: </b>" & ip & "<br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Besked: </b>" & message & "<br /><br />Din Besked er modtaget. Jeg vender tilbage så hurtigt som muligt Webmaster." & "</p>"end if
%>
Avatar billede apo Praktikant
17. oktober 2004 - 14:42 #9
Du skal huske at værdierne i:

<option value="Mail1">Skriv til Stengaard</option>
<option value="Mail2">Skriv til Josephine</option>
<option value="Mail3">Skriv til Webmaster</option>

skal være de samme som i:

If Recipient = "Skriv til Stengaard" Then
    Repicpient = "hstengaard@get2net.dk"
Else If Recipient = "Skriv til Josephine" Then
    Repicpient = "josephinestengaard@hotmail.dk"
Else
    Repicpient = "admin@familien-stengaard.dk"
End If

Det er værdierne i din selectbox der afgører hvilken adresse der bliver sendt til (derfor skal de altid være ens i både formularen og i ASP-koden).

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:46 #10
ok tak
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:48 #11
If Recipient = "Skriv til Stengaard" Then
    Repicpient = "hstengaard@get2net.dk"
Else If Recipient = "Skriv til Josephine" Then
    Repicpient = "josephinestengaard@hotmail.dk"
Else If Recipient = "Skriv til Webmaster" Then
    Repicpient = "admin@familien-stengaard.dk"
End If
Avatar billede apo Praktikant
17. oktober 2004 - 14:52 #12
Nu har jeg indsat de forskellige ting i dit script og i din kode:

FORMULAR:

<form method="post" action="mail_sender.asp"
enctype="mutipart/form-data">

<fieldset>
<legend><font size="5">Husk at udfylde alle felter</legend></font><p>

<label for="t6">Modtager: </label><select id="t6" name="recipient" size="20">
<option value="Mail1">Skriv til Stengaard</option>
<option value="Mail2">Skriv til Josephine</option>
<option value="Mail3">Skriv til Webmaster</option>
</select><br />

<label for="t1">Dit Navn:</label>&nbsp;
<input id="t1" type="text" name="name" size="20" /><br />

<label for="t2">Din Email:</label>
<input id="t2" type="text" name="email" size="20" /><br />

<label for="t3">Emne:</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input id="t3" type="text" name="subject" size="20" /><p>

<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10" cols="50"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" name="submit" value="Send" />
&nbsp; &nbsp;
<input type="reset" value="Slet" />
</fieldset>
</form>

MAIL_SENDER.ASP

<%
Name = Request.form("name")
SenderEmail = Request.Form("email")
Recipient = Request.form("recipient")
If Recipient = "Skriv til Stengaard" Then
    Repicpient = "hstengaard@get2net.dk"
Else If Recipient = "Skriv til Josephine" Then
    Repicpient = "josephinestengaard@hotmail.dk"
Else
    Repicpient = "admin@familien-stengaard.dk"
End If
subject = Request.form("subject")
message =  Request.form("message")
ip = Request.ServerVariables("REMOTE_ADDR")

      set msg = Server.CreateOBject( "JMail.Message" )
     
      msg.Logging = true
      msg.silent = true
     
      msg.From = SenderEmail
      msg.FromName = Name
      msg.AddRecipient Recipient
      msg.Subject = Subject

    msg.Body = "Fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "email: " & senderEmail & vbCrLf & "Emne: "  & subject & vbCrLf & "Besked: " & message & vbCrLf & body

'.Send skal være en mail server adresse ikke email adresse
if not msg.Send("127.0.0.1") then
msg.Send("mail@lkongen.dk")
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "&<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & Recipient & "'>" & Recipient & "</a><br /><br /><b>IP-adresse: </b>" & ip & "<br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Besked: </b>" & message & "<br /><br />Din Besked er modtaget. Jeg vender tilbage så hurtigt som muligt Webmaster." & "</p>"end if
%>
Avatar billede stengaard Praktikant
17. oktober 2004 - 14:58 #13
jeg takker
Avatar billede apo Praktikant
17. oktober 2004 - 14:59 #14
Så lidt ;-)

Fik du det til at virke?

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 15:03 #15
ja det virker
Avatar billede apo Praktikant
17. oktober 2004 - 15:04 #16
Til en anden gang bør du nok skjule dine emailadresser, når du skriver offentligt. Siden her kan læses af alle, og der er måske nogle der vil kunne finde på at misbruge adresserne.

Hvis du senere hen skal komme med eksempler på emailadresser, kan du nøjes med at skrive f.eks. "mail@xxxxxxx.dk"

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 15:15 #17
ja det kan jeg godt se men jeg for en fejl meddelse i linie 186

se lige selv på http://www.familien-stengaard.dk/contact.htm

linie 186 er denne her

Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "&<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & Recipient & "'>" & Recipient & "</a><br /><br /><b>IP-adresse: </b>" & ip & "<br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Besked: </b>" & message & "<br /><br />Din Besked er modtaget. Jeg vender tilbage så hurtigt som muligt Webmaster." & "</p>"end if
Avatar billede apo Praktikant
17. oktober 2004 - 15:21 #18
Jeg har lige sendt en testbesked, og får følgende fejl:

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/mail_sender.asp, line 186


Expected 'End' betyder at serveren mangler en afslutning på en if-sætning. Prøv at lave et mellemrum mellem '"</p>"' og 'end if' (sidst i din ASP-kode).

Det burde virke.

Apo
Avatar billede apo Praktikant
17. oktober 2004 - 15:35 #19
Prøv at skrive sådan her:

"</p>" end if

i stedet for:

"</p>"end if (mellemrum mangler i denne sætning)

Apo
Avatar billede stengaard Praktikant
17. oktober 2004 - 17:07 #20
det hjælp ikke

samme fejl
Avatar billede stengaard Praktikant
21. august 2005 - 00:17 #21
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester