Avatar billede f_rollo Nybegynder
31. marts 2004 - 18:01 Der er 9 kommentarer og
2 løsninger

Vil gøre ULR-adresser i html mail sendt via AspMail Klikbare

Det blev vist en lettere kryptisk overskrift.

Men det jeg gerne vil er at koden herunder kan tage den ULR adresse den requester og lave den til link.
Koden bruges til når der fra alm. html form sendes en mail. Jeg har en del kontakt-mig-formler der istedet for at sende til et cgi-script (hvor emailadressen er synlig=SPAM) skal sende til et aspdokument der sender videre til min mail.

Problemet er bare at når folk opgiver deres website-adresse bliver den ikke til et link i Outlook men bare ren tekst man selv skal copy/paste over i IE

Hvad gør jeg?

      <%
Dim objMail
Set objMail = Server.CreateObject("SMTPsvg.Mailer")
objMail.FromName = request("Kontaktperson")
objMail.FromAddress = request("email")
objMail.AddRecipient "Garden Living", "Min emailadresse"
objMail.RemoteHost = "mail.gardenliving.dk"
objMail.Subject = "Kontakt fra www.gardenliving.dk"
Dim strHTMLBody

strHTMLBody = "Denne mail er sendt fra hjemmesiden<br>" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "Mailen er sendt af: <b>" & request("Kontaktperson") & "</b> fra: <b>" & request("Firma") & "</b><br> Stilling: <b>" & request("Stilling") & "</b> Telefonnummer: <b>" & request("Telefon") & "</b> E-mailadresse: <b>" & request("email") & "</b><br>"& vbCrLf
strHTMLBody = strHTMLBody & "Adresse: <b>" & request("Adresse") & ", " & request("postnr") & "</b><br>"
strHTMLBody = strHTMLBody & "Hjemmeside: <b>" & request("website") & "</b><br>" & vbCrLf [HER ER DET JO SÅ DER SKAL LAVES ET ELLER ANDET OM, MEN HVAD???]
strHTMLBody = strHTMLBody & "Besvar via: <b>" & request("Kontaktes-via") & "</b>" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "Besked:<br><b>" & request("Comments") & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "SLUT" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
objMail.ContentType = "text/html"
objMail.BodyText = strHTMLBody

If objMail.SendMail Then
  Response.Redirect "http://www.gardenliving.dk/default.asp?id=17"
Else
  Response.Redirect "http://www.gardenliving.dk/default.asp?id=error17"
End If

%>

På forhånd tak...
Avatar billede fiasko Nybegynder
31. marts 2004 - 18:40 #1
du skal simpelthen bare lave det således:
    <%
Dim objMail
Set objMail = Server.CreateObject("SMTPsvg.Mailer")
objMail.FromName = request("Kontaktperson")
objMail.FromAddress = request("email")
objMail.AddRecipient "Garden Living", "Min emailadresse"
objMail.RemoteHost = "mail.gardenliving.dk"
objMail.Subject = "Kontakt fra www.gardenliving.dk"
Dim strHTMLBody

strHTMLBody = "Denne mail er sendt fra hjemmesiden<br>" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "Mailen er sendt af: <b>" & request("Kontaktperson") & "</b> fra: <b>" & request("Firma") & "</b><br> Stilling: <b>" & request("Stilling") & "</b> Telefonnummer: <b>" & request("Telefon") & "</b> E-mailadresse: <b>" & request("email") & "</b><br>"& vbCrLf
strHTMLBody = strHTMLBody & "Adresse: <b>" & request("Adresse") & ", " & request("postnr") & "</b><br>"
strHTMLBody = strHTMLBody & "Hjemmeside: <a href= " & request("website") & "><b>" & request("website") & "</b></a><br>" & vbCrLf [HER ER DET JO SÅ DER SKAL LAVES ET ELLER ANDET OM, MEN HVAD???]
strHTMLBody = strHTMLBody & "Besvar via: <b>" & request("Kontaktes-via") & "</b>" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "Besked:<br><b>" & request("Comments") & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
strHTMLBody = strHTMLBody & "SLUT" & vbCrLf
strHTMLBody = strHTMLBody & "<hr>" & vbCrLf
objMail.ContentType = "text/html"
objMail.BodyText = strHTMLBody

If objMail.SendMail Then
  Response.Redirect "http://www.gardenliving.dk/default.asp?id=17"
Else
  Response.Redirect "http://www.gardenliving.dk/default.asp?id=error17"
End If

%>
Avatar billede fiasko Nybegynder
31. marts 2004 - 18:40 #2
se hvordan jeg har lavet request("website") til et link ?
Avatar billede f_rollo Nybegynder
31. marts 2004 - 18:44 #3
Hmmm... jeg syntes jeg havde lavet noget nær det sammen... men et eller andet havde jeg jo nok lavet forkert...
Tager lige en tester på det og venter tilbage.
Avatar billede fiasko Nybegynder
31. marts 2004 - 19:06 #4
klart :)
Avatar billede f_rollo Nybegynder
31. marts 2004 - 22:47 #5
Det virker ikke helt...

Jeg ændrede koden til:
strHTMLBody = strHTMLBody & "Hjemmeside: <a href=" & request("website") & "><b>" & request("website") & "</b></a><br>" & vbCrLf

og det bliver ganske rigtigt til et blå link i Outlook, men linket virker ikke. Der sker intet når man trykker.
Når man holder musen over vises en underlig ulr i statusfeltet...
What's wrong?

Screenshot fra Outlook:
http://www.gardenliving.dk/mail/fejl.gif
Avatar billede f_rollo Nybegynder
31. marts 2004 - 22:49 #6
Når jeg indtaster linket i kontaktformen indtaster jeg det www.domain.dk uden noget http foran.
Jeg forventer heller ikke at kunderne ville gøre det...
Avatar billede fiasko Nybegynder
01. april 2004 - 00:01 #7
så laver du bare <a href=http://" & request("website") &"> " & Request("Website") & " </a>
evt. lave en replace() hvor du udskifter http:// med "" så du er sikker på at de ikke skriver http:// foran
Avatar billede f_rollo Nybegynder
01. april 2004 - 13:19 #8
Det var også min første tanke blot at sætte http:// ind på sammen måde, men det virkede heller ikke...

Jeg prøvede at sætte target=_blank ind i koden, men det missede vist lidt. Hvordan ville det skulle gøres korrekt?

Kilden i mailsen er således ud:
Denne mail er sendt fra hjemmesiden<br>
<hr>
Mailen er sendt af: <b>Test</b> fra: <b>Test</b><br> Stilling: <b>Test</b> Telefonnummer: <b>Test</b> E-mailadresse: <b>Test</b><br>
Adresse: <b>Test, Test</b><br>Hjemmeside: <a href=www.gardenliving.dk><b>www.gardenliving.dk</b></a><br>
Besvar via: <b>E-mail</b>
<hr>
Besked:<br><b>Test
<hr>
SLUT
<hr>
Avatar billede fiasko Nybegynder
01. april 2004 - 17:10 #9
du skal have koden til linket til at være følgende:
<a href=http://www.gardenliving.dk> så popper den automatisk op i nyt vindue.

For at sikre dig at der ikke er blevet indtastet http:// i website... så laver du følgende:

replace(request("website"), "http://", "")

du kan evt. prøve at udskrive den før du sender den. <%= replace(request("website"), "http://", "") %> og se hvad resultatet er...
Avatar billede f_rollo Nybegynder
07. april 2004 - 14:14 #10
Tak for hjælpen - det virker nu...
Avatar billede fiasko Nybegynder
09. april 2004 - 13:37 #11
no problem :D
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