Avatar billede kkd Nybegynder
27. februar 2003 - 16:43 Der er 53 kommentarer og
1 løsning

Kan ikke få FormMail til at virke!

Hej...

Jeg har downloaded FomMail v. 1.92 fra http://www.scriptarchive.com/formmail.html og sat den op med følgende form på min side (mail@hjemmeside.dk er selvfølgelig udskiftet med den adresse jeg vil have beskeden sendt til):
<form method="post" action="/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="mail@hjemmeside.dk">
<p align="center">Dit navn<input name="realname" type="text" size="50">
<p align="center">Din e-mail<input name="email" type="text" size="50">
<p align="center">Emne<input name="subject" type="text" size="50">
<p align="center">Besked<TEXTAREA name="Besked" cols="50" rows="6"></TEXTAREA>
<p align="center"><INPUT type="submit" value="Send">
</form>

Men når man klikker på send, kommer følgende fejl frem:

There was no recipient or an invalid recipient specified in the data sent to FormMail. Please make sure you have filled in the recipient form field with an e-mail address that has been configured in @recipients. More information on filling in recipient form fields and variables can be found in the README file.

Jeg har prøvet at gennemlæse readme-filen, og ændret i @recipient, men jeg kan ikke få det til at virke!

Hvad skal der til for at få mailen sendt til adressen mail@hjemmeside.dk?

/kkd :oD
Avatar billede ztyxx Nybegynder
27. februar 2003 - 16:46 #1
prøv at poste din FormMail.pl
Avatar billede kkd Nybegynder
27. februar 2003 - 16:49 #2
Her er den del, der er den "variable":

# Define Variables                                                          #
#      Detailed Information Found In README File.                            #

# $mailprog defines the location of your sendmail program on your unix      #
# system. The flags -i and -t should be passed to sendmail in order to      #
# have it ignore single dots on a line and to read message for recipients    #

$mailprog = '/usr/lib/sendmail -i -t';

# @referers allows forms to be located only on servers which are defined    #
# in this field.  This security fix from the last version which allowed      #
# anyone on any server to use your FormMail script on their web site.        #

@referers = ('scriptarchive.com','209.196.21.3');

# @recipients defines the e-mail addresses or domain names that e-mail can  #
# be sent to.  This must be filled in correctly to prevent SPAM and allow    #
# valid addresses to receive e-mail.  Read the documentation to find out how #
# this variable works!!!  It is EXTREMELY IMPORTANT.                        #
@recipients = &fill_recipients('navn@hjemmeside.dk');

# ACCESS CONTROL FIX: Peter D. Thompson Yezek                                #
# @valid_ENV allows the sysadmin to define what environment variables can    #
# be reported via the env_report directive.  This was implemented to fix    #
# the problem reported at http://www.securityfocus.com/bid/1187              #

@valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');

# Done                                                                      #
Avatar billede mfalck Praktikant
27. februar 2003 - 16:50 #3
har du husket at rette i
@referers = ('scriptarchive.com','YOUR_IP');
Avatar billede ztyxx Nybegynder
27. februar 2003 - 16:50 #4
har du også sat @referers til din egen URL
Avatar billede ztyxx Nybegynder
27. februar 2003 - 16:51 #5
og den rette stil til $mailprog
Avatar billede mfalck Praktikant
27. februar 2003 - 16:51 #6
du skal beholde:
@recipients = &fill_recipients(@referers);

og så sætte din egen ipadresse ind i @referers
Avatar billede mfalck Praktikant
27. februar 2003 - 16:53 #7
din egen ipadr = webserverens ipadresse
Avatar billede mfalck Praktikant
27. februar 2003 - 16:54 #8
muligvis
@referers = ('hjemmeside.dk');
Avatar billede ztyxx Nybegynder
27. februar 2003 - 16:54 #9
mfalck> han kan også undlade IP´en, og kun indsætte
@referers = ('hjemmeside.dk,'www.hjemmeside.dk');
Avatar billede ztyxx Nybegynder
27. februar 2003 - 16:56 #10
ups, ikke 'www.hjemmeside.dk'
Avatar billede kkd Nybegynder
27. februar 2003 - 17:08 #11
Nu ser FormMail.pl filens variable del således ud, men fejlemeddelelsen er den samme:
# Define Variables                                                          #
#      Detailed Information Found In README File.                            #

# $mailprog defines the location of your sendmail program on your unix      #
# system. The flags -i and -t should be passed to sendmail in order to      #
# have it ignore single dots on a line and to read message for recipients    #

$mailprog = '/usr/lib/sendmail -i -t';

# @referers allows forms to be located only on servers which are defined    #
# in this field.  This security fix from the last version which allowed      #
# anyone on any server to use your FormMail script on their web site.        #

@referers = ('hjemmeside.dk');

# @recipients defines the e-mail addresses or domain names that e-mail can  #
# be sent to.  This must be filled in correctly to prevent SPAM and allow    #
# valid addresses to receive e-mail.  Read the documentation to find out how #
# this variable works!!!  It is EXTREMELY IMPORTANT.                        #
@recipients = &fill_recipients('^mail@hjemmeside.dk');

# ACCESS CONTROL FIX: Peter D. Thompson Yezek                                #
# @valid_ENV allows the sysadmin to define what environment variables can    #
# be reported via the env_report directive.  This was implemented to fix    #
# the problem reported at http://www.securityfocus.com/bid/1187              #

@valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');

# Done                                                                      #
Avatar billede mfalck Praktikant
27. februar 2003 - 17:21 #12
prøv med  @recipients = (&fill_recipients('hjemmeside.dk'));
Avatar billede mfalck Praktikant
27. februar 2003 - 17:22 #13
eller  @recipients = (&fill_recipients('^mail@hjemmeside\.dk'));
Avatar billede kkd Nybegynder
27. februar 2003 - 17:33 #14
Nu kommer der en anden fejlmeddelelse:
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Array found where operator expected at D:\web\clak19dk_hjemmeside.dk\wwwroot\cgi-bin\FormMail.pl line 46, at end of line
  (Might be a runaway multi-line '' string starting on line 39)
Backslash found where operator expected at D:\web\clak19dk_hjemmeside.dk\wwwroot\cgi-bin\FormMail.pl line 46, near "@hjemmeside\"
    (Missing operator before \?)
syntax error at D:\web\clak19dk_akvariedatabasen.dk\wwwroot\cgi-bin\FormMail.pl line 46, near "mail@hjemmeside"
Bad name after dk' at D:\web\clak19dk_hjemmeside.dk\wwwroot\cgi-bin\FormMail.pl line 46.


-jeg har udskiftet mit domæne med "hjemmeside", clak19dk var det password, jeg fik oplyst til min mailserver (smpt) da jeg første gang oprettede mit webhotel hos udbyderen. Det har senere været nødvendigt at ændre det, da jeg ikke kunne logge på min ftp (det var samme password)
Avatar billede kkd Nybegynder
27. februar 2003 - 17:34 #15
Hov... nu ved I vist alligevel hvad mit dmæne er... :-O
Avatar billede kkd Nybegynder
27. februar 2003 - 17:59 #16
Nyt problem..........

Nu vil den gerne sende mailen... men jeg modtager den ikke!

Da jeg allerede har dummet mig..... får i her den variable del af scriptet, nøjagtig som den ser ud nu:

# Define Variables                                                          #
#      Detailed Information Found In README File.                            #

# $mailprog defines the location of your sendmail program on your unix      #
# system. The flags -i and -t should be passed to sendmail in order to      #
# have it ignore single dots on a line and to read message for recipients    #

$mailprog = '/usr/lib/sendmail -i -t';

# @referers allows forms to be located only on servers which are defined    #
# in this field.  This security fix from the last version which allowed      #
# anyone on any server to use your FormMail script on their web site.        #

@referers = ('akvariedatabasen.dk');

# @recipients defines the e-mail addresses or domain names that e-mail can  #
# be sent to.  This must be filled in correctly to prevent SPAM and allow    #
# valid addresses to receive e-mail.  Read the documentation to find out how #
# this variable works!!!  It is EXTREMELY IMPORTANT.                        #

@recipients = (&fill_recipients('akvariedatabasen.dk'));

# ACCESS CONTROL FIX: Peter D. Thompson Yezek                                #
# @valid_ENV allows the sysadmin to define what environment variables can    #
# be reported via the env_report directive.  This was implemented to fix    #
# the problem reported at http://www.securityfocus.com/bid/1187              #

@valid_ENV = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER','HTTP_USER_AGENT');

# Done                                                                      #

Prøve eventuelt selv på www.akvariedatabasen.dk/mail.htm
Avatar billede mfalck Praktikant
28. februar 2003 - 00:00 #17
det er fordi du skal bruge \@ istedet for @ i strenge  (perl bruger @ foran arrays så det er vigtigt at huske at bruge \@

Det er så lidt overraskende at den brokker sig over @ når du ikke har brugt det... hm
Avatar billede mfalck Praktikant
28. februar 2003 - 00:01 #18
er der en logfil fra webserveren vi kan se ?
Avatar billede kkd Nybegynder
01. marts 2003 - 17:32 #19
Logfil fra webserveren? Hvad er det, hvor får jeg sådan en? (Jeg er ikke særlig garvet (:-I))

Når jeg sender beskeden, får jeg en besked om at den er blevet sendt til den rigtige e-mail adresse... (Men jeg får den som sagt ikke)
Avatar billede mfalck Praktikant
02. marts 2003 - 11:49 #20
error-log filerne laver webserveren selv.

som regel ligger de i /usr/local/apache/logs eller i /etc/httpd/logs
Avatar billede kkd Nybegynder
02. marts 2003 - 14:36 #21
Nåhhh der... øøhhh. Jeg er altså ked af det, men jeg aner ikke hvad du snakker om. Hvor finder jeg de biblioteker henne? Og hvordan.... :-(
Avatar billede mfalck Praktikant
02. marts 2003 - 14:46 #22
prøv at skrive

tail /etc/httpd/logs/error_log
eller

tail /usr/local/apache/logs/error_log
Avatar billede mfalck Praktikant
02. marts 2003 - 14:47 #23
undskyld det er mig som er en klov - jeg læste lige dit indlæg igennem og så at det er på windows. Bare glem det jeg har skrevet
Avatar billede mfalck Praktikant
02. marts 2003 - 14:48 #24
hvad kører du dit program under - jeg er ret sikker på at problemet ligger i at scriptet forsøger at sende mail via:

$mailprog = '/usr/lib/sendmail -i -t';
Avatar billede mfalck Praktikant
02. marts 2003 - 14:49 #25
har du adgang til at sende mails et sted fra ?!?!
Avatar billede mfalck Praktikant
02. marts 2003 - 14:50 #26
"det er mig som er en klov" ... æh det er måske en mere bizzar ting at skrive om sig selv - jeg mente dog nok at jeg var en klovn - men det taler vist for sig selv :-)
Avatar billede mfalck Praktikant
02. marts 2003 - 15:05 #27
det jeg mente med at sende mails - det var mere hvilken mailserver du bruger
Avatar billede ztyxx Nybegynder
02. marts 2003 - 16:47 #28
på mange servere ligger sendmail i usr/sbin/sendmail
Avatar billede mfalck Praktikant
02. marts 2003 - 18:07 #29
jeps på unix-maskiner - men jeg er sikker på at kkd kører en windows udgave af perl:
se kommentaren fra 27/02-2003 17:33:47:

D:\web\clak19dk_akvariedatabasen.dk\wwwroot\cgi-bin\FormMail.pl
Avatar billede mfalck Praktikant
02. marts 2003 - 18:07 #30
jeg tror at kkd skal hacke scriptet til at bruge Net::SMTP biblioteket som kommunikerer med mailserveren via port 25.
Avatar billede kkd Nybegynder
02. marts 2003 - 19:21 #31
Hold da op, nu bliver det indviklet... jeg er sat af.

Hvad er det lige jeg skal gøre.... :o?
Avatar billede mfalck Praktikant
02. marts 2003 - 19:30 #32
hm - det er en større omgang du skal igennem. Hele scriptet skal gennemgåes for at ændre det. Jeg må lige se på det.
Avatar billede mfalck Praktikant
04. marts 2003 - 22:24 #33
er det stadig et problem !?!? Nu gik der et par dage og hvis du har løst det på anden måde så vil jeg ikke bruge tid på det :-)
Avatar billede kkd Nybegynder
05. marts 2003 - 16:24 #34
Jeg kan stadig ikke få det til at virke.... Jeg har skrevet til dem, hvor jeg har mit webhotel, men venter stadig på svar. Men du skal ikke sidde oppe og misse nattesøvn over det :o)
Men hvis du kan, må du meget gerne hjælpe!
Kan det have noget at gøre med, at mit gamle pass til ftp, mailserver o.l. var clak19dk, men nu er blevet ændret, og de ikke har fået opdateret et eller andet, der hvor jeg har min side?
Avatar billede kkd Nybegynder
05. marts 2003 - 16:28 #35
Jeg har lige fået svar fra webudbyderen. De siger at linien
$mailprog = '/usr/lib/sendmail -i -t';
skulle virke, men jeg skal huske at: "at chmod CGI til 765", hvad betyder det?
Avatar billede mfalck Praktikant
05. marts 2003 - 17:17 #36
jeg skal lige høre: skal det køre på en unix(linux)-maskine eller en windows maskine.

Af det du skriver (bla noget med D:\web\clak19dk_akvariedatabasen.dk\wwwroot\cgi-bin\FormMail.pl) så ligner det en windows maskine, men det er måske den du udvikler det på ?!?!

chmod er det program på unixmaskiner til at sætte rettigheder (se f.eks: http://www.eksperten.dk/spm/321455). Du kan sætte dette via ws_ftp (og sikkert andre ftp-programmer). En sidste ting som du skal være opmærksom på er at du skal huske at overføre dit program som ascii til webhotellet, da perl kan være sensibelt.
Avatar billede kkd Nybegynder
05. marts 2003 - 19:57 #37
Jeg laver mine sider i windows (2000 pro), og så vidt jeg ved, bruger udbyderen en windows 2000 server.
Avatar billede kkd Nybegynder
05. marts 2003 - 19:57 #38
Jeg bruger ws_ftp pro til at uploade med!
Avatar billede mfalck Praktikant
05. marts 2003 - 20:13 #39
ok - hvis udbyderen (må jeg spørge hvem det er som hoster siderne?) bruger windows 2000 til at hoste så vil $mail = ...  ikke virke - det er som jeg har skrevet måden man gør det på under unix.
Avatar billede kkd Nybegynder
05. marts 2003 - 20:20 #40
Hvad er det jeg skal ændre chmod på? Jeh har prøvet at ændre chmod på FormMail.pl filen og biblioteket den ligger i, men jeg for en meddelelse der siger:
site chmod 765 /cgi-bin/FormMail.pl
500 Unknown command.
Avatar billede mfalck Praktikant
05. marts 2003 - 20:26 #41
må jeg spørge hvem det er som hoster siderne?
Avatar billede kkd Nybegynder
06. marts 2003 - 07:08 #42
Avatar billede mfalck Praktikant
06. marts 2003 - 09:09 #43
hvilken type af mailhotel er det du har !?!?
Avatar billede mfalck Praktikant
06. marts 2003 - 09:09 #44
sorry webhotel
Avatar billede kkd Nybegynder
06. marts 2003 - 09:36 #45
det der hedder c30!
Avatar billede mfalck Praktikant
06. marts 2003 - 09:39 #46
ok - så kan det jo både være en freebsd og en windows som kører dit site; kan du finde ud af hvilken type server det er som kører dit site. Evt kan du høre om du kan se (få dem tilsendt) error-log filer fra dit site så kan det være at vi kan se hvad der går galt.
Avatar billede kkd Nybegynder
06. marts 2003 - 10:35 #47
Jeg er ret sikker på at det er en win2000 server, se http://cliche.dk/faq-webhotel.asp
Jeg skriver lige til dem, for at være sikker, samt for at høre med de der log-filer!
Avatar billede mfalck Praktikant
06. marts 2003 - 10:38 #48
ok - for hvis det er en win2000 server så vil  $mailprog = '/usr/lib/sendmail -i -t'; ikke virke.
Avatar billede kkd Nybegynder
06. marts 2003 - 10:47 #49
Er det så ikke mærkeligt, at de skriver at
$mailprog = '/usr/lib/sendmail -i -t
linien er god nok, og at jeg skal sætte chmod til 765 (chmod er vel kun på unix-maskiner, ikke?)
Avatar billede mfalck Praktikant
06. marts 2003 - 10:50 #50
jo - det er det. Omvendt så kan det jo være at de ikke har tjekket om din konto er på en unix eller en windows maskine ... er der andre dele af sitet som kræver at det kører på en windows !?!? Eller kan det ellers ikke betale sig at lægge det over på en unix-maskine (givet at det ikke koster for meget).
Det kræver jo også lige at der kører perl på windows-maskinerne - de er ikke født med et som standard.
Avatar billede kkd Nybegynder
06. marts 2003 - 11:36 #51
Jeg har lige fået bekræftet at de ligger på en windows-server. Hvis det kræver en stor omskrivning af scrpit o.l. behøver du ikke kæmpe mere med det. Jeg kan jo prøve at finde et ASP script, der kan gøre det samme, der er vist nok noget der hedder JMail.
Hvis du vil have pointene for din store indsats, skal du lige svare!!!
Avatar billede mfalck Praktikant
06. marts 2003 - 11:36 #52
ok - alternativet er jo at skifte fra en windows til en freebsd server ... men det ved jeg så ikke om du har mod på.
Avatar billede kkd Nybegynder
06. marts 2003 - 12:55 #53
Jeg takker for din hjælp, trods alt!

/kkd :oD
Avatar billede mfalck Praktikant
06. marts 2003 - 13:21 #54
selv tak :-)
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