selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

CGI Script und Formular keine Fehlermeldung und keine Mail

Autor: lbilli
Datum: 01.10.2009 12:06:20

Hallo, hexe nun schon ne ganze weile herum, aber habe keinen Schimmer mehr.
Dieses Formular und das Script hat bis vor kurzem funktioniert, allerdings auf einem anderen Server!
Ist hier was falsch???

HTML-Formular:
_________________________________________________________
<html>
<form action="http://www.xyz/cgi-bin/mail_mvp.pl" method="post">
<input type="hidden" name="mailto" value="[email protected]e">
<input type="hidden" name="return" value="http://www.xyz.de/danke.htm">
<input type="hidden" name="delimiter" value=": ">
<input type="hidden" name="subject" value="Feedback-Formular">
<!-- hier beliebige eigene Felder -->

<input type="text" name="T1" size="20"><p>

<input type="submit"><input type="reset"> </p>
</form></html>
_________________________________________________________
Script:
#!/usr/bin/perl

# -------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";

# -------> Modul für CGI-Scripts einbinden:
use CGI;

# -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:
$query = new CGI;
@names = $query->param;

# -------> interne Daten aus den erwarteten hidden-Feldern auslesen:
$delimiter = $query->param('delimiter');  # ---> Begrenzerzeichen zwischen name und value
$mailto = $query->param('mailto');        # ---> Empfängeradresse
$returnhtml = $query->param('return');    # ---> URL für Dankeseite
$subject = $query->param('subject');      # ---> E-Mail-Subject


# -------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
  $name = $_;
  @values = "";
  @values = $query->param($name);
  if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") {
    foreach $value (@values) {
      $mailtext = $mailtext.$name;
      $mailtext = $mailtext.$delimiter;
      $mailtext = $mailtext.$value."n";
    }
  }
}

# -------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werdenn";
print MAIL "To: $mailton";
print MAIL "Subject: $subjectnn";
print MAIL "$mailtextn";
close(MAIL);

# -------> Dankeseite an Browser senden:
print "Location: $returnhtmlnn";
__________________________________________________________
CHMODE steht auf 755
Der Server wo das Script nun laufen soll liegt auf evanzo.net

Danke für die Hilfe!!!