Probleme mit Mailversand

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Probleme mit Mailversand

Postby DerH » 29. January 2011 15:08

Hallo.

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
DerH
 
Posts: 2
Joined: 29. January 2011 14:28

Re: Probleme mit Mailversand

Postby DerH » 29. January 2011 22:02

Das ist mir ein bisschen peinlich, auf die Idee, die komplette Fehlermeldung zu suchen, bin ich seltsamerweise nicht gekommen. Vielleicht, weil ich dachte, dass ich erst einmal die Grundlage für das Problem verstehen muss ... anyway.

Der Mailversand scheint jetzt zu klappen, ich hab aber noch eine kleine Frage:

Kann mir das Problem des insecure $ENV{PATH} auch auf öffentlichen Servern passieren, sprich: sollte ich die Lösung im script drin lassen, oder ist das nur spezifisch für den lokalen Betrieb?

Bis hierhin schon mal vielen Dank.
DerH
 
Posts: 2
Joined: 29. January 2011 14:28


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 42 guests