Autor |
Nachricht |
Anti78
Threadersteller
Dabei seit: 16.09.2003
Ort: Tbb/Mz/M
Alter: 46
Geschlecht:
|
Verfasst Di 30.10.2007 10:53
Titel [Perl] Formular wird nicht versendet |
|
|
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 Übersicht: " type="checkbox" id="Lieferprogramm Übersicht: 2" value="Angefordert">
</span></span></span></div></td>
</tr>
</table>
<input type="submit"><input type="reset">
</form> |
Bin dankbar für jede Hilfe.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 30.10.2007 10:56
Titel
|
|
|
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.
|
|
|
|
|
Anzeige
|
|
|
Anti78
Threadersteller
Dabei seit: 16.09.2003
Ort: Tbb/Mz/M
Alter: 46
Geschlecht:
|
Verfasst Di 30.10.2007 10:57
Titel
|
|
|
Ahja, und wie mache ich das?
Oder kann ich es vorher extra überprüfen ob es nicht schon aktiviert ist?
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
|
|
|
|
Zeithase
Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht:
|
Verfasst Di 30.10.2007 11:07
Titel
|
|
|
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
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 30.10.2007 11:21
Titel
|
|
|
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 .
|
|
|
|
|
|
|
|
Ä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!
|
|