Hallo, hier einmal die Anfrage eines absoluten Perlneulings. Ich bin neulich über die Seite mit dem FormmailerBeisoiel gestolpert. HAbe es gleich ausprobiert für meine Website. Ich probiere die Scripte lokal aus mit dem Server Sambar52. Leider ist bei mir keine Funktion zu erkennen, für sachdienliche hinweise wär ich sehr dankbar. Anbei die entsprechenden Listings.
Gruss und frohes Neues noch
Carsten
-----
Datei selfmai.pl im cgi-bin verzeichnis:
#!d:/sambar52/perl/perl.exe
-------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "d:/sambar52/bin/sendmail.exe";
-------> Modul fr CGI-Scripts einbinden:
use CGI;
-------> Modul fr 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'); # ---> Empfngeradresse
$returnhtml = $query->param('return'); # ---> URL fr 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 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";
------
formularseite im docs verzeichnis:
#!d:/sambar52/perl/perl.exe
-------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "d:/sambar52/bin/sendmail.exe";
-------> Modul fr CGI-Scripts einbinden:
use CGI;
-------> Modul fr 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'); # ---> Empfngeradresse
$returnhtml = $query->param('return'); # ---> URL fr 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 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";