Formmailer mailt nicht aber sendet Erfolgsseite
Thomas Luger
- perl
0 $xNeTworKx0 thomas Luger0 thomas luger0 Siechfred0 thomas Luger0 Andres Freund0 thomas
Hi,
ich habe den in SelfHTML vorgestellten code verwendet, des weiteren habe ich mich mit meinem Provider ín Verbindung gesetzt um sicherzustellen, daß ich auch den richtigen Pfad zu dem Program sendmail verwende.
Nun wird die Erfolgsseite gesendet (das Skript macht also was!) es währe aber auch nett von dem Skript wenn ich die Informationen zugeschickt bekomme. Ist da jemand da draußen der mir da weiter helfen kann?? ich weiß einfach nicht weiter, für mich liest sich das alles logisch aber ich bin nun kein Experte.
vielen Dank schonmal im Voraus
Thomas Luger
Hallo,
Ich glaube kaum, dass du das Orginalscript 1:1 übernommen hast, also wäre es ganz hilfreich, wenn du mal den Code postest, sonst kann dir wohl keiner helfen.
$xNeTworKx.
Hallo,
Ich glaube kaum, dass du das Orginalscript 1:1 übernommen hast, also wäre es ganz hilfreich, wenn du mal den Code postest, sonst kann dir wohl keiner helfen.$xNeTworKx.
»»
#!/usr/bin/perl -w
$Sendmail_Prog = "/usr/bin/sendmail";
use CGI;
$query = new CGI;
@names = $query->param;
$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
$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";
}
}
}
open(MAIL,"|$Sendmail_Prog -t -i") || 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);
print "Location: $returnhtml\n\n";
so, das ist der code.
wäre klasse wenn mir da jemand helfen kann
grüße
Thomas
Ich weis daß ich die Mailadresse direkt in den Perlquellcode stecken soll, zunächst will ich aber das ding zum senden bringen ...
Hallo,
Ich glaube kaum, dass du das Orginalscript 1:1 übernommen hast, also wäre es ganz hilfreich, wenn du mal den Code postest, sonst kann dir wohl keiner helfen.$xNeTworKx.
»»
#!/usr/bin/perl -w-------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/bin/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 -i") || 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";
so, das ist der code.
wäre klasse wenn mir da jemand helfen kann
grüße
Thomas
Guten Tag,
$mailto = $query->param('mailto');
Ersetze doch mal zu Testzwecken diese Zeile durch
$mailto = "thomas.luger@tu-berlin.de";
und warte mal ab, ob die Mail ankommt. Vielleicht hilft dir auch ein Blick in error.log weiter.
mfg Torsten
Hallo alle zusammen,
wie komme ich denn an den Errorlog heran???
MFG
Thomas
Hi,
wie komme ich denn an den Errorlog heran???
Das musst du nicht uns, sondern deinen Provider fragen. Oder hast du Zugriff, nat. nur wenn du den Apache benutzt, auf die httpd.conf?
Grüße Andres Freund
Hi,
Provikder fragen habe ich verstanden, was anach kam must Du mir irgendwie nochmal erklären das war zu kompliziert für mich ...
gruß
Thomas