Anzeige: Goneo - Du machst das Web!
Anzeige: united-domains - Die ganze Welt der Domains
Einfache & schnelle Domain-Registrierung zu fairen Preisen ohne Einrichtungsgebühren. Mehr als 250 Domain-Endungen aus einer Hand inklusive E-Mail- & Web-Weiterleitung. Einzigartiges Domain-Portfolio zur bequemen & sicheren Verwaltung Ihrer Domain-Namen.
Jetzt Domain-Check bei united-domains!
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="xyz@t-online.de">
<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!!!