Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 16:36 Der er 15 kommentarer og
1 løsning

Formmail til 2 personer

Hej,

Jeg har et spørgsmål angående en formmail i asp.

Jeg har en formmail hvor asp koden ser sådan ud:

<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
if request.form("klienter") = "" Then
  Response.write "Skriv venligst hvor mange klienter du ønsker"
else
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "<strong>Antal klienter: </strong><br>" & request.Form("klienter") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if
  end if
  end if
  end if
  end if
  end if
  end if
end if 
%>

Det jeg gerne vil have den skal gøre er at sende en mail med alt indholdet til mig, men den skal så sende en mail til kunden med en anden tekst, uden indholdet, altså en mail med bekræftelse på man har modtaget hans mail.

Hvordan gør man det?

På forhånd tak!
Avatar billede w13 Novice
10. oktober 2010 - 18:10 #1
Det må blive noget i denne stil:

<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
if request.form("klienter") = "" Then
  Response.write "Skriv venligst hvor mange klienter du ønsker"
else
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "<strong>Antal klienter: </strong><br>" & request.Form("klienter") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email-bekræftelsen blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if


/* Her kommer så din egen e-mail: */

dinEmail = "din@egen.mail"

  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient dinEmail
  Mailer.Subject = "Kontakt-email"
  Mailer.FromName = "Navnet på din side"
  Mailer.FromAddress = dinEmail
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Der blev modtaget en forespørgsel:<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "<strong>Antal klienter: </strong><br>" & request.Form("klienter") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email til mig blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  end if

  end if
  end if
  end if
  end if
  end if
  end if
end if 
%>


Så retter du bare i linjerne lige under:

/* Her kommer så din egen e-mail: */


Indholdet må du selv rette, da jeg ikke ved, hvad du vil have stående. =)
Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 18:51 #2
Det virker ikke rigtigt.

Jeg har dog også slettet nedenstående fra koden efter som den meldte fejl på det. Jeg ved ikke helt hvad jeg skal skrive i dinEmail = "din@egen.mail". Jeg prøvede at skrive webmaster@ringstedtennisklub = "webmaster@ringstedtennisklub.dk. Men der meldte den fejl.

/* Her kommer så din egen e-mail: */

dinEmail = "din@egen.mail"

Det der sker nu er at jeg modtager 2 mail. En mail som jeg hele tiden har gjort, og en mail med begge mails i.

Min kode ser nu sådan ud:


<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else
  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"
 
  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email-bekræftelsen blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if


  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Med venlig hilsen</strong><br>Thomas Larsen<br>Teknisk direktør<br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email til mig blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  end if

  end if
  end if
  end if
  end if
  end if
end if 
%>
Avatar billede w13 Novice
10. oktober 2010 - 20:28 #3
Du skriver, at den melder fejl, men hvilken fejl?
Avatar billede w13 Novice
10. oktober 2010 - 20:31 #4
Prøv sådan her:

<%   

if request.form("navn") = "" Then
  Response.write "Skriv venligst dit navn"
else
if request.form("adresse") = "" Then
  Response.write "Skriv venligst din adresse"
else
if request.form("postnr_og_by") = "" Then
  Response.write "Skriv venligst dit postnr og din by"
else
if request.form("telefonnummer") = "" Then
  Response.write "Skriv venligst dit telefonnummer"
else
if request.form("mail") = "" Then
  Response.write "Skriv venligst din email adresse"
else
if request.form("kommentar") = "" Then
  Response.write "Skriv venligst en kommentar"
else

/* Brugerens bekræftelses-e-mail: */

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"
 
  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Adresse: </strong><br>" & request.Form("adresse") & "<br><br>"
  msg = msg & "<strong>Postnr og by: </strong><br>" & request.Form("postnr_og_by") & "<br><br>"
  msg = msg & "<strong>Telefonnummer: </strong><br>" & request.Form("telefonnummer") & "<br><br>"
  msg = msg & "<strong>E-mail adresse: </strong><br>" & request.Form("mail") & "<br><br>"
  msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"
  msg = msg & "Med venlig hilsen<br><strong>Datacompagniet</strong><br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email-bekræftelsen blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  else
    Response.Write ""
    Response.Write "" & replace(msg,vbCrLf,"<br>")
  end if

  Set Mailer = Nothing
  msg = ""

/* Din egen e-mail: */

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ContentType = "text/html"

  msg = "<html><body><span style=""font-family: Calibri, Verdana; font-size: 14px; color: #333333;"">"
  msg = msg & "Kære " & request.Form("navn") & "<br><br>"
  msg = msg & "Din forespørgsel er modtaget og vi vil hurtigst muligt vende tilbage.<br><br>"
  msg = msg & "Hav en god dag<br><br>"
  msg = msg & "<strong>Med venlig hilsen</strong><br>Thomas Larsen<br>Teknisk direktør<br><br><img src=""http://ringstedtennisklub.dk/datacompagniet/Nyweb/Images/Logo.png"">"
  msg = msg & "</span></body></html>"
  Mailer.BodyText=msg
  Mailer.CharSet = 2

  if not Mailer.SendMail then
    Response.Write "Email til mig blev ikke sendt... Fejlen er: <br>"
    Response.Write Mailer.Response
  end if

  Set Mailer = Nothing

  end if
  end if
  end if
  end if
  end if
end if 
%>
Avatar billede w13 Novice
10. oktober 2010 - 20:32 #5
Husk selvfølgelig lige at indsætte mail-adresser, der hvor der står "MAIL". :)
Avatar billede j-roar-h Nybegynder
10. oktober 2010 - 21:05 #6
Det virker stadig ikke helt.

Den sender ikke en mail til brugeren, men kun til den mail man har indtastet i Mailer.AddRecipient. Det der sker nu er at den sender 2 mail. En med alt indholdet, og en kun med bekræftelse.

Kan man ikke gøre sådan at den kun sender bekræftelsen til brugeren, og alt indholdet til mig?
Avatar billede w13 Novice
10. oktober 2010 - 21:16 #7
Ved begge e-mails i koden har du linjen:

Mailer.AddRecipient "Datacompagniet A/S","MAIL"


Første sted skal:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S","MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = request.Form("navn")
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = request.Form("mail")
  Mailer.ContentType = "text/html"


rettes til:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient request.Form("navn"), request.Form("mail")
  Mailer.Subject = "Kontakt"
  Mailer.FromName = "Datacompagniet A/S"
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = "MAIL"
  Mailer.ContentType = "text/html"


Andet sted skal der stå:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.RemoteHost = "HOST"
  Mailer.AddRecipient "Datacompagniet A/S", "MAIL"
  Mailer.Subject = "Kontakt"
  Mailer.FromName = "Datacompagniet A/S"
  Mailer.FromAddress = "MAIL"
  Mailer.ReplyTo = "MAIL"
  Mailer.ContentType = "text/html"


Og hvis der står for meget indhold i den anden e-mail, så skal det bare fjernes i koden. =)
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 11:54 #8
Super! Det virker perfekt.. Lige et lille tillægsspørgsmål.


Der er i formaren mulighed for at skrive en kommentar over flere linjer. Hvis man så skriver en kommentar med linjeskift altså fx:

Hej,

Tak for hjælpen!

Mvh Jacob

Hvordan får man det så til at stå sådan i den mail man modtager. Som det er nu skriver den det uden at lave linjeskift, altså på en linje.

Ligger du et svar så får du point.
Avatar billede w13 Novice
11. oktober 2010 - 11:59 #9
Du retter bare linjen:

msg = msg & "<strong>Kommentar: </strong><br>" & request.Form("kommentar") & "<br><br>"


til:

msg = msg & "<strong>Kommentar: </strong><br>" & Replace(request.Form("kommentar"), vbCrLf, "<br>") & "<br><br>"


Det erstatter linjeskift med HTML-koden "<br>". :)
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 12:19 #10
Super. Jeg takker.

Lige et spørgsmål mere.

Jeg har testen det hele med en mailserver. Det skal kører over en anden mailserver, men har nu fået problemer når jeg sætter den ind.

Jeg får denne fejl meddelse:
Email-bekræftelsen blev ikke sendt... Fejlen er: 554 5.5.1 Error: no valid recipients
Email til mig blev ikke sendt... Fejlen er: 554 5.5.1 Error: no valid recipients

Så vidt jeg kan se er det noget med mailserveren men er ikke sikker.

Den mailserver jeg testede på er hos dandomain, og den der skal bruges ligger hos wannafind.
Avatar billede w13 Novice
11. oktober 2010 - 12:44 #11
I ASP skal man have særlige komponenter installeret for at kunne gøre ting såsom at sende e-mails, uploade filer, redigere billeder, o.lign. Serveren kan måske derfor kun finde ud af at sende e-mails med særlige komponenter.

I din kode bruger du komponenten "SMTPsvg.Mailer". Jeg forstår bare ikke, hvorfor den så ikke brokker sig over dét, men i stedet over noget med dine "recipients" (modtagere).

I følge denne side på WannaFind, kan du bruge CDONTS: http://knowledgebase.wannafind.dk/show/asp+classic+og+asp.net#240
Men måske kan du starte med at rette "HOST" til deres host: "smtp.wannafind.dk"
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 13:03 #12
Det virkede ikke med at indsætte deres host "smtp.wannafind.dk".
Jeg har også prøvet dem som der tilhører mig, "mail.datacompagniet.se" og "mail18.wannafind.dk"

Men vil det så sige jeg skal lave alle formmails om til CDONTS?

Hvis jeg skal det, er det så bare at ændre Mailer.FromAddress til objCDO.From og det samme med de andre?
Avatar billede w13 Novice
11. oktober 2010 - 13:18 #13
Du kan bibeholde "Mailer" men værdierne efter punktummet skal nok ændres. Du kan bruge denne som guide: http://www.w3schools.com/asp/asp_send_email.asp
Avatar billede j-roar-h Nybegynder
11. oktober 2010 - 14:56 #14
Tak. Jeg tror det er til at finde ud af. Men vil først kikke på dette når det skal rykkes over.

Men har lige lidt flere spørgsmål hvis du vil hjælpe med det også.

1. Jeg vil gerne have den validere indholdet så der skal være @ i mailadressen, der skal være 8 tal i telefonnummer o.s.v. Jeg ved der skal bruges en asp validering, men ved ikke hvordan denne skal se ud.

2. Når man har trykket send og hvis der så er fejl sender den en til en side med fejl meddelsen. Hvis man så klikker tilbage er indholdet slettet. Kan man gøre så indholdet stadig er der når man klikker på tilbage knappen?
Avatar billede w13 Novice
11. oktober 2010 - 15:24 #15
Hej igen.

Da jeg er på vej ud af døren, når jeg nok ikke at hjælpe de 2 sidste spørgsmål.

Må jeg anbefale, at du opretter et nyt spørgsmål med dem?

Hvis du ikke har fået det løst af en anden bruger i morgen, kan jeg sikkert hjælpe dig dér også. :)

Med venlig hilsen
Tobias
Avatar billede j-roar-h Nybegynder
12. oktober 2010 - 13:47 #16
Jeg har opretter spørgsmål om valideringen her: http://www.eksperten.dk/spm/921006
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