Avatar billede 4262sandved Nybegynder
03. juli 2006 - 09:43 Der er 14 kommentarer og
1 løsning

Hjælp til kontakt-formular

Kan simpelthen ikke få dette script til at sende e-mail til mig.

<%
if len(request.form("afsender")) = 0 Then
Fejl = " "
end if
If len(Fejl) > 0 Then
Response.redirect "../default.asp?side=kontakt&fejl=ja"
end if
if len(request.form("besked")) = 0 Then
Fejl = " "
end if
If len(Fejl) > 0 Then
Response.redirect "../default.asp?side=kontakt&fejl=ja"
end if
afsender = Request.Form("afsender")
afsender = Replace(afsender, "'", "''")
afsender = Replace(afsender, "<", "[ulovligt tegn]")
afsender = Replace(afsender, ">", "[ulovligt tegn]")
besked = Request.Form("besked")
besked = Replace(besked, "'", "''")
besked = Replace(besked, "<", "[ulovligt tegn]")
besked = Replace(besked, ">", "[ulovligt tegn]")
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ContentType = "text/html"
JMail.ServerAddress = "smtp.unoeuro.com"
JMail.Priority = 1
JMail.Sender = "&afsender&"
JMail.AddRecipient "minemail@erhemmelig.hemmelig", "Dennis k"
JMail.Subject = "dennis.kinnberg.com Kontakt formular"
JMail.Body = "&besked&"
JMail.Execute
Set JMail = Nothing
Response.Redirect "../default.asp?side=kontakt&sendt=ja"
%>

Min webhost har JMail installeret, og har brugt scriptet til et af mine andre scripts hvor det virker perfekt.

Kontakt formularen:
<h1>Kontakt</h1>
<% If Request.Querystring("sendt") = "ja" Then
Response.Write "Din e-mail er sendt korrekt"
else %>
Brug formularen nedenunder, til at sende mig en e-mail.
<br><br>
<form method="post" action="sendmail.asp">
<b>Din E-Mail:</b><br>
<input type="text" name="afsender" id="f">
<br><br>
<b>Beskedens indhold:</b><br>
<textarea name="besked" id="f" rows="15" cols="33"></textarea>
<br><br>
<input type="submit" name="submit" value="Send" id="s">
</form>
<% end if %>

30 point ude ;)
Avatar billede hnteknik Novice
03. juli 2006 - 09:45 #1
Den skal sende fra en af sitet kendt emailadresse eller laver den relay : prøv med admin@ditsite.dk
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 09:47 #2
har admin som e-mail, prøver
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 09:49 #3
Virker stadig ikke. den redirecter heller ikke til "../default.asp?side=kontakt&sendt=ja" som den skulle
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 09:49 #4
Avatar billede hnteknik Novice
03. juli 2006 - 10:08 #5
Dennis - er du sikker på, at du har asp på denne server. Det kan også være, at de kører en anden version af jmail. Du skal lave en test asp side som sender en simpel mail og med et fejl loop på:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
MailModtager= "hnteknik@SSS.DK"
MailFromName= "Henrik Nielsen ZZZ"
MailSubject ="Test fra ZZZ"
MailBody = "Dette er blot en test"


            if (Request.ServerVariables("HTTP_HOST") ="localhost") then
                SMTPNavn = "localhost"
            else
                SMTPNavn = "websmtp.ZZZ.dk"
            end if
            Mailfrom = "XXX@ZZZ.dk"
            MailFromName= "ZZZ"
           
            Set Mail = Server.CreateObject("JMail.Message")
            Mail.Silent = True
            Mail.From = Mailfrom
            Mail.FromName = MailFromName
            Mail.AddRecipient MailModtager
            'Mail.AddRecipient "recipient@hisDomain.com", "His Name"
            Mail.Subject = MailSubject
            Mail.Body = MailBody
            If Not Mail.Send(SMTPNavn) Then
                Response.Write("Lortet duer ikke")
            End If


Ret ovenstående tl, sådet virker med dine smtp og email adresser.
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 10:14 #6
Hej fik mail.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
MailModtager= "admin[elefant-snabel-a]kinnberg.com"
MailFromName= "dennis"
MailSubject ="TEST..."
MailBody = "Dette er blot en test"


            if (Request.ServerVariables("HTTP_HOST") ="localhost") then
                SMTPNavn = "localhost"
            else
                SMTPNavn = "smtp.unoeuro.com"
            end if
            Mailfrom = "admin@kinnberg.com"
            MailFromName= "dennis"
         
            Set Mail = Server.CreateObject("JMail.Message")
            Mail.Silent = True
            Mail.From = Mailfrom
            Mail.FromName = MailFromName
            Mail.AddRecipient MailModtager
            'Mail.AddRecipient "admin[elefant-snabel-a]kinnberg.com", "Dennis"
            Mail.Subject = MailSubject
            Mail.Body = MailBody
            If Not Mail.Send(SMTPNavn) Then
                Response.Write("Lortet duer ikke")
            End If
%>
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 10:14 #7
hvordan får jeg så sådan at formularen virker.... I den
Avatar billede hnteknik Novice
03. juli 2006 - 10:31 #8
Prøv at rette dit scrip til efter den ovenstående. Det væsentlige er

Set Mail = Server.CreateObject("JMail.Message")

ny model. ;-)

og


If Not Mail.Send(SMTPNavn) Then


Du kan faktisk få den til at smide en logfejl på det der går galt. Gå ind på deres hjemmeside og se de nye options.
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 10:46 #9
Virker ikke :( :( der må være et eller andet galt...

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
if len(request.form("afsender")) = 0 Then
Fejl = " "
end if
If len(Fejl) > 0 Then
Response.redirect "../default.asp?side=kontakt&fejl=ja"
end if
if len(request.form("besked")) = 0 Then
Fejl = " "
end if
If len(Fejl) > 0 Then
Response.redirect "../default.asp?side=kontakt&fejl=ja"
end if
afsender = Request.Form("afsender")
afsender = Replace(afsender, "'", "''")
afsender = Replace(afsender, "<", "[ulovligt tegn]")
afsender = Replace(afsender, ">", "[ulovligt tegn]")
besked = Request.Form("besked")
besked = Replace(besked, "'", "''")
besked = Replace(besked, "<", "[ulovligt tegn]")
besked = Replace(besked, ">", "[ulovligt tegn]")
MailModtager= "admin@kinnberg.com"
MailFromName= "Kontakt formular dennis.kinnberg.com"
MailSubject = "Besked fra din hjemmeside"
MailBody = &besked&
            if (Request.ServerVariables("HTTP_HOST") ="localhost") then
                SMTPNavn = "localhost"
            else
                SMTPNavn = "smtp.unoeuro.com"
            end if
                SMTPNavn = "smtp.unoeuro.com"
                Mailfrom = "admin@kinnberg.com"
            MailFromName= "dennis"
       
            Set Mail = Server.CreateObject("JMail.Message")
            Mail.Silent = True
            Mail.From = Mailfrom
            Mail.FromName = MailFromName
            Mail.AddRecipient MailModtager
            'Mail.AddRecipient "admin@kinnberg.com", "Dennis Kinnberg"
            Mail.Subject = MailSubject
            Mail.Body = MailBody
            If Not Mail.Send(SMTPNavn) Then
                Response.Write("Fejl! kontakt administrator på e-mail admin@kinnberg.com")
            End If
%>
Avatar billede hnteknik Novice
03. juli 2006 - 11:32 #10
Sender den selt ikke noget nu ??

Det her vil normalt give en fejl

MailBody = &besked&

Skal der ikke "" omkring begge ender ??


Det her kan du fjerne - dublo konfekt

            if (Request.ServerVariables("HTTP_HOST") ="localhost") then
                SMTPNavn = "localhost"
            else
                SMTPNavn = "smtp.unoeuro.com"
            end if

Du har SMTPNavn = "smtp.unoeuro.com"


Den her vil ikke virke hvis du ikke fjerner '
'Mail.AddRecipient "admin@kinnberg.com", "Dennis Kinnberg"

Mail.AddRecipient MailModtager -> Mail.AddRecipient afsender
skal vel have den rigtige 'afsender'

Prøv at rydde lidt op i scriptet. Du kan altid teste ned igennem scriptet ved at indsætte passende steder

response.write(variabel)
response.end()

Husk at fjerne / kommentere ud, når du er færdig.
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 12:01 #11
Nej den sender ikke :-/

har prøvet med aspmail (det sender heller ikke) nogle der kan se fejl i dette script?:

<%
Set AspMail = Server.CreateObject("SMTPsvg.Mailer")
AspMail.FromName = "&Request.form("dinmail)&"
AspMail.FromAddress = "admin@kinnberg.com"
AspMail.AddRecipient "Dennis Kinnberg", "admin@kinnberg.com"
AspMail.Subject = "Besked fra dennis.kinnberg.com"
AspMail.BodyText = "&Request.Form("besked")&"

' Mailserver
AspMail.RemoteHost = "smtp.unoeuro.com"

AspMail.Priority = 1
AspMail.ContentType = "text/plain"
AspMail.CharSet = 2
If AspMail.SendMail Then
  Response.Write "Din mail er sendt!"
Else
  Response.Write "Der opstod følgende fejl: " & AspMail.Response
End If
Set AspMail = Nothing
%>

Jeg har asp og jmail og aspmail komponenter på serveren. mit webhotel er www.unoeuro.com
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 13:52 #12
intet jeg kunne bruge...
Avatar billede hnteknik Novice
03. juli 2006 - 14:00 #13
Du er da vist en svær en af hjælpe. Du har fået en mail af sted og så skal du blot rette det til. Far med fred.
Avatar billede 4262sandved Nybegynder
03. juli 2006 - 14:48 #14
hnteknik: du må godt få point opretter tråd med 30 point til dig.
Avatar billede 4262sandved Nybegynder
09. juli 2006 - 20:15 #15
lukket hnteknik fik 30 point i en anden trå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