Moin.
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
Das | (pipe) scheint mir aber dort falsch am Platz.Das Statement ist original aus dem Selfhtml-Formmailer.
Stimmt. Richtig.
Die Frage ist ja: hat Mercury Mail ein sendmail-kompatibles Interface, kann es also von STDIN (Standardeingabe) die Daten entgegen nehmen. Kann es das nicht, kannst Du es auch nicht mit open(MAIL,"|$Sendmail_Prog -t") benutzen.
Als Alternative kannst Du mal fake sendmail(freeware) probieren, oder sendmail for windows(30-Tage frei).
Eine 3. Variante gibt es - wenn es nur um den lokalen Test des Scripts geht. Ersetze die Zeile
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
durch die Zeilen
$debug = "debug.txt";
open (MAIL,">>$debug") || die "Can't open $debug $!\n";
Dann werden alle Infos, die eigentlich per Mail gesendet werden sollen, in die Datei debug.txt geschrieben.
Gruß Frank
P.S. und vor dem hochladen auf den Server die Änderung zurücknehmen ;-)