Ich versuche gerade anhand einer Beispieldatei ein Formular als mail zu versenden. Beim ausprobieren unter xampp bekomme ich folgende Fehlermeldung:
Insecure $ENV{PATH} while running with -T switch at C:/xampp/htdocs/selfmail.pl line 42. ,
ich bin noch nicht besonders fit in perl, aber ich vermute, dass das Problem in der Pfadangabe für sendmail besteht.
"line 42" ist die versende-Anweisung:
open(MAIL,"|$Sendmail_Prog -t") [...]
der Pfad unter Sendmail_prog ist: C:/xampp/sendmail/sendmail (mehrfach überprüft)
Warum kann das script auf sendmail nicht zugreifen? Oder ist es was ganz anderes?
Bin dankbar für Hilfe. Hier noch das komplette Script:
#!"C:\xampp\perl\bin\perl.exe"
# -------> Individuelle Parameter des Skriptes - bitte anpassen!
# --> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "C:/xampp/sendmail/sendmail";
# --> Ziel-Mailadresse, an die gesendet werden soll:
$mailto = 'platzhalter@platzhalter.de';
# -------> Modul für CGI-Scripts einbinden:
use CGI;
use File::Basename;
# -------> 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";
System: win7 (32bit)
xampp 1.7.3
browser: firefox