mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 10:53 Benutzername: Passwort: Auto-Login

Thema: [Perl] Formular wird nicht versendet vom 30.10.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [Perl] Formular wird nicht versendet
Autor Nachricht
Anti78
Threadersteller

Dabei seit: 16.09.2003
Ort: Tbb/Mz/M
Alter: 46
Geschlecht: Männlich
Verfasst Di 30.10.2007 10:53
Titel

[Perl] Formular wird nicht versendet

Antworten mit Zitat Zum Seitenanfang

Hi Leuts.

Ich baue gerade an einem Formmailer über Perl.

Das Problem ist, wenn ich auf senden klicke, kommt die Frage, ob ich die selfmail.pl downloaden will. Und es wird nichts verschickt. Woran könnte das liegen?

Code selfmail.pl
Code:
#!/usr/bin/perl



# -------> Individuelle Parameter des Skriptes - bitte anpassen!

# --> SMTP-Programm zum Versenden der Mail:

$Sendmail_Prog = "/usr/sbin/sendmail";

# --> Ziel-Mailadresse, an die gesendet werden soll:

$mailto = 'meine@mailadresse.de';



# -------> 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

$returnhtml = $query->param('return');    # ---> URL für Dankeseite

$subject = $query->param('subject');      # ---> E-Mail-Subject



# -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln

#             VERHINDERT sonst möglichen MISSBRAUCH des Skripts

$subject =~ s/\s/ /g;



# -------> Text der E-Mail aus den Formulardaten ermitteln:

$mailtext = "";

foreach(@names) {

  $name = $_;

  @values = "";

  @values = $query->param($name);

  if($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 werden\n";

print MAIL "To: $mailto\n";

print MAIL "Subject: $subject\n\n";

print MAIL "$mailtext\n";

close(MAIL);



# -------> Dankeseite an Browser senden:

print "Location: $returnhtml\n\n";



Code Formular
Code:
<form action="http://www.meinedomain.de/cgi-bin/selfmail.pl" method="post">
<input type="hidden" name="return" value="http://www.meinedomain.de/danke.html">
<input type="hidden" name="delimiter" value=": ">
<input type="hidden" name="subject" value="Feedback-Formular">
<table width="42%"  border="0" align="center" cellpadding="0">
          <tr>
            <th width="24%" scope="row"><div align="left" class="Stil1"><span class="Stil3"><span class="Stil3">Firma*:</span></span></div></th>
            <td width="56%"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Firma: " type="text" id="Firma: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left" class="Stil1"><span class="Stil3"><span class="Stil3">Ansprechpartner*:</span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Ansprechpartner: " type="text" id="Ansprechpartner: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">Strasse*:</span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Strasse: " type="text" id="Strasse: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">PLZ*:</span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="PLZ: " type="text" id="PLZ: " size="30">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1"><span class="Stil1">Ort*:</span></span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Ort: " type="text" id="Ort: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th height="22" scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">Telefonnummer*:</span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Telefonnummer: " type="text" id="Telefonnummer: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">Faxnummer*:</span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Faxnummer: " type="text" id="Faxnummer: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">Email*:</span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Email: " type="text" id="Email: " size="50">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th align="left" valign="top" scope="row"><span class="Stil5">sonstiges:</span></th>
            <td><textarea name="sonstiges: " cols="46" rows="5" id="sonstiges: "></textarea></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1"><span class="Stil5">Preisliste:</span></span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Preisliste: " type="checkbox" id="Preisliste: 2" value="Angefordert">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil5">CD:</span></div></th>
            <td><input name="CDROM: " type="checkbox" id="CDROM: 2" value="Angefordert"></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1"><span class="Stil5">Katalog:</span></span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Katalog: " type="checkbox" id="Katalog: 2" value="Angefordert: ">
            </span></span></span></div></td>
          </tr>
          <tr>
            <th scope="row"><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1"><span class="Stil5">Prospekt:</span></span></span></span></div></th>
            <td><div align="left"><span class="Stil3"><span class="Stil3"><span class="Stil1">
              <input name="Lieferprogramm &Uuml;bersicht: " type="checkbox" id="Lieferprogramm &Uuml;bersicht: 2" value="Angefordert">
            </span></span></span></div></td>
          </tr>
        </table> 
<input type="submit"><input type="reset">
</form>


Bin dankbar für jede Hilfe.
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 30.10.2007 10:56
Titel

Antworten mit Zitat Zum Seitenanfang

jedenfalls nicht am code. Du musst deinem apachen beibringen, mit perl umgehn zu können. Also entweder als cgi in ner htaccess einrichten oder mod_perl aktivieren.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Anti78
Threadersteller

Dabei seit: 16.09.2003
Ort: Tbb/Mz/M
Alter: 46
Geschlecht: Männlich
Verfasst Di 30.10.2007 10:57
Titel

Antworten mit Zitat Zum Seitenanfang

Ahja, und wie mache ich das?

Oder kann ich es vorher extra überprüfen ob es nicht schon aktiviert ist?
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 30.10.2007 11:03
Titel

Antworten mit Zitat Zum Seitenanfang

Weiß ich auch nicht, da hab ich meine Lustsklaven für. Ansonsten: http://perl.apache.org/docs/2.0/user/install/install.html
  View user's profile Private Nachricht senden
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst Di 30.10.2007 11:07
Titel

Antworten mit Zitat Zum Seitenanfang

bacon hat geschrieben:
Weiß ich auch nicht, da hab ich meine Lustsklaven für. Ansonsten: http://perl.apache.org/docs/2.0/user/install/install.html


Wenn man keine Ahnung hat, einfach mal -- Du weißt schon. Fuer das Ding da oben braucht's mit Sicherheit kein mod_perl. Das wird damit nicht mal funktionieren. Aber Hauptsache, es hat mal wieder jemand irgendwas gesagt.

Fuer die Konfiguration gibt's nun mehrere Moeglichkeiten, entweder direkt Apache-Config oder via .htaccess.

Code:
AddHandler cgi-script .pl
Options +ExecCGI


Alles andere findet sich je nach verwendetem Webserver auch via Google.


Zuletzt bearbeitet von Zeithase am Di 30.10.2007 11:09, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Di 30.10.2007 11:21
Titel

Antworten mit Zitat Zum Seitenanfang

Mal abgesehen von dem netten Mann über mir - ich hab trotzdem mal nachgeschaut, ich weiß jetzt nicht mit welchem Testsystem du arbeitest. Aber wenn du dir bspw. Xampp runterziehst, ist perl da schon drauf. Deine Scripte müssten dann unter c:/.../xampp/cgi-bin liegen, aufgerufen werden sie über http://localhost/cgi-bin/scriptname.pl bzw. .cgi.

Der Hase hat natürlich recht, allerdings sagte ich ebenfalls, dass dem Server halt beigebracht werden muss, wie mit den entspr. Scripten umzugehen ist. Die Einstellungsmöglichkeiten habe ich aufgezeigt. Aber ganz ehrlich: Alleine würde ich es mir nicht zutrauen, einen apache server aufzusetzen, also wenn du mit dem Ding live gehen willst, frag deinen Service Provider, der kann dir entspr. Pfade nennen, in denen deine Perl-Scripte auch ausgeführt werden (bzw. Konfigurationsanleitungen für htaccess-Dateien).
Zitat:

Wenn man keine Ahnung hat, einfach mal -- Du weißt schon. Fuer das Ding da oben braucht's mit Sicherheit kein mod_perl. Das wird damit nicht mal funktionieren. Aber Hauptsache, es hat mal wieder jemand irgendwas gesagt.


mod_perl hat n cgi-wrapper, eigentlich müsste das Script auch damit funzen. Hab ich aber noch nicht probiert, da ich Perl ausschließlich fürs 3b2-Scripting nutze. Daher wirst du das besser wissen. Trotzdem geb ich dir ein saftiges Leck-Mich-Am-Arsch mit auf den Weg für deine nette Art *zwinker*.
  View user's profile Private Nachricht senden
 
Ähnliche Themen Noch ein php Formular das keine Inhalte versendet
Flash unicode Variablen aus Formular an Perl Mailer CGI?
PDF-Formular soll per "E-Mail senden" als PDF versendet werd
Php Kontaktformular wird doppelt versendet
EMail Kontaktformular versendet keine Mails
PHPMailer Problem | Mails werden nur in HTML versendet!
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.