Avatar billede blaatand Nybegynder
31. august 2003 - 22:46 Der er 9 kommentarer og
1 løsning

Prob. med formmail

<%
                               
                                dim objmail
                                dim form_item
                                dim body_text
                                dim domain_name
                                dim email_address
                                dim dl_url
                                dim my_email_adress
                               
                                domain_name = lcase(trim(Request.ServerVariables("SERVER_NAME")))
                                if right(domain_name, 4) = "www." then
                                    domain_name = left(domain_name, len(domain_name) - 4)
                                end if
                               
                                'EMAIL ADDRESS TO WHICH THE FORM WILL BE EMAILED :
                                'INCLUDE YOUR EMAIL ADDRESS :
                                email_address = "silenthill@mohaa.dk"
                                my_email_adress = "silenthill@mohaa.dk"
                           
                           
                                Set objmail = CreateObject("CDONTS.Newmail")
                                If IsObject(objmail) = False Then
                                    Set objmail = Nothing
                                    Response.Write "Host system does not contain CDONTS component, which is required for this mailing script ...! Please contact support."
                                    Response.End
                                End If
                               
                                dl_url = "http://www.mohaa.dk/downloads.asp?tipven="&strDLID&""
                                body_text = "A friend have sent you a link from " & domain_name & " : " & vbcrlf & vbcrlf
                                body_text = body_text &  dl_url &vbcrlf & vbCrLf & my_email_adress
'                                for each form_item in Request.Form
'                                    body_text = body_text & form_item & " = " & Request.Form(form_item) & vbcrlf
'                                next
                                body_text = body_text &  "----------------------------------------------" & vbcrlf & vbCrLf
                               
                           
                                if email_address = "" then
                                    email_address = "silenthill@mohaa.dk" & domain_name
                                end if
                           
                                objmail.From = my_email_address
                                objmail.To = email_address
                                'objmail.Cc = ""
                                'objmail.Bcc = ""
                                objmail.Subject = "A friend have sent you a link from " & domain_name
                                objmail.Body = body_text
                               
                                on error resume next
                                objmail.Send
                                if err.number <> 0 then
                                    on error goto 0
                                    on error resume next
                                    objmail.Send  'Retry once
                                end if
                                Set objmail = Nothing
                                on error goto 0
                               
                                Response.Redirect "downloads.asp?sendven=sendt"
                            %>


Det er koden, og det virekr fint nok... men, jeg skal have den til at sende mailen til en bruger, og ikke til mig selv. Derfor skal jeg bruge noget request.form eller noget, for at få indputtet en anden mail i disse 2 linier kode:

                                email_address = "silenthill@mohaa.dk"
                                my_email_adress = "silenthill@mohaa.dk"

den ene skal hente mailen ud fra formen mymail, og den anden fra formen friendmail....

Har prøvet diverse ting, men når jeg prøver, så får jeg ingen mail overhovedet :-/
Avatar billede wilweb Nybegynder
31. august 2003 - 23:47 #1
har du prøvet:
email_address = Request.form("mymail")
my_email_adress = Request.form("friendmail")
Avatar billede blaatand Nybegynder
01. september 2003 - 00:36 #2
ja, den har jeg prøvet, og det fungerer ikke...
Avatar billede nielle Nybegynder
01. september 2003 - 07:43 #3
"den ene skal hente mailen ud fra formen mymail, og den anden fra formen friendmail...."

Du kan ikke hente information ud af to forms. Kun af den ene som - ved at brugeren har trykket på submit-knappen - resultere i at din kode bliver udført. Hvis du har brug for oplysninger fra flere forms, så er du nødt til at gemme dem i en database (eller en almindelig tekst fil) til at de skal bruges.
Avatar billede blaatand Nybegynder
01. september 2003 - 09:32 #4
hmm, jo det kan man da normalt.

variableMYMAIL = Request.Form("mymail")
variableFRIENDMAIL = Request.Form("friendmail")

nu har du 2 variabler fra de 2 form felter... denne metode syntes dog ikke at virke i dette script af en eller anden grund...

Når jeg mener formen så er det en form med to formfelter
Avatar billede nielle Nybegynder
01. september 2003 - 10:13 #5
blaatand -> Jamen så stammer de jo også fra den _samme_ form. Det var altså bare ikke helt det du skrev - men jeg forstår dig nu.

Kunne vi få lov til at se din form-kode? Måske ligger fejlen i virkeligheden der.
Avatar billede blaatand Nybegynder
02. september 2003 - 00:30 #6
<form name="form1" method="post" action="downloads.asp?sendtilven=<%Response.Write(strM_ID)%>">
                                      <table width="100%" border="0" cellpadding="0" cellspacing="0" class="maintekst">
                                        <tr>
                                          <td>&nbsp;</td>
                                          <td>&nbsp;</td>
                                        </tr>
                                        <tr>
                                          <td width="12%">Ven E-Mail:</td>
                                          <td width="88%"><input name="mymail" type="text" class="form-headline" id="mymail"></td>
                                        </tr>
                                        <tr>
                                          <td>&nbsp;</td>
                                          <td>&nbsp;</td>
                                        </tr>
                                        <tr>
                                          <td>Din E-Mail:</td>
                                          <td><input name="friendmail" type="text" class="form-headline" id="friendmail"></td>
                                        </tr>
                                        <tr>
                                          <td>&nbsp;</td>
                                          <td>&nbsp;</td>
                                        </tr>
                                        <tr>
                                          <td>&nbsp;</td>
                                          <td><input name="Submit" type="submit" class="form-button" value="Send"></td>
                                        </tr>
                                      </table>
                                    </form>

Undskyld tabellerne :)
Avatar billede nielle Nybegynder
02. september 2003 - 07:53 #7
Hmmm, den ser umiddelbart ok ud. Har du prøvet at lave lidt debugging for at se om form-oplysningerne vitterligt kommer med - eller om de bliver mystisk væk undervejs? Prøv at udskrive Request.Form("mymail") og Request.Form("friendmail").

MEN:

Du har et problem med din:

objmail.From = my_email_address

Hvis du vil hente my_email_address fra din form, så betyder det i princippet at du vil kunne sende mails i andre personers navn. Dette er en yndet teknik hos spammere, og derfor så er et kompetent opsat mailsystem konfigureret til *ikke* at tillade dette (”open relay” er slået fra). Sådanne mails bliver simpelthen ikke sendt!

Du skal altid sende en mail med din egen e-mail adresse som afsender. Dvs. en adresse som stemmer overens med ”mohaa.dk” domænet i dette tilfælde. Dette kan sagtens være grunden til at dine hardkodede adresser virker, men at eksemplet hvor at du tager dem fra formen ikke virker. Dette kan nemt testes ved at du indtaster ”silenthill@mohaa.dk” i friendmail-feltet.
Avatar billede nielle Nybegynder
02. september 2003 - 07:55 #8
Er der iøvrigt ikke lidt for mange "on error" i din?:

if err.number <> 0 then
  on error goto 0
  on error resume next
  objmail.Send  'Retry once
end if
Avatar billede blaatand Nybegynder
02. september 2003 - 09:46 #9
silenthill@mohaa.dk fungerer fint hvis jeg bare indtaster det i stedet for request.form...

til error, ved ikke, scriptet er noget jeg har fået fra min udbyder, som jeg har prøvet og rette til :)
Avatar billede nielle Nybegynder
02. september 2003 - 09:52 #10
"silenthill@mohaa.dk" passer fint eftersom at det passer overens med domænet. Prøv med request.form metoden og så indtast "silenthill@mohaa.dk" i formularen. Mit gæt er at det så også vil virke der.
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