Guten Morgen allerseits,
Ich habe folgende Script auf NT-Maschienen getestet. Der Script lief problemlos. Aber, als ich diesen Script auf dem Server vom Provider getan habe, lief das ganze nicht mehr. Der Provider benutzt Unix-Server.
Die error.log-Datei zeigt folgender Fehlermeldung an:
error.log:
---------
[Tue Dec 3 09:10:50 2002] [error] [client 212.55.xxx.xxx] Premature end of script headers: /home/xxx.ch/cgi/mail.cgi
---------
CGI-Script:
-----------
#!/usr/bin/perl
use CGI ':standard';
use Net::SMTP;
$username = param('name');
$uservname = param('vname');
$addstr = param('str');
$addhnr = param('hnr');
$addplz = param('plz');
$addort = param('ort');
$addland = param('land');
$addtel = param('tel');
$addfax = param('fax');
$sender = param('email');
$subj = param('subject');
$text = param('comment');
$mailServer = "smtp.xxx.ch";
$empfaenger = "info@xxx.ch";
$smtp = Net::SMTP->new($mailServer);
$smtp->mail($sender);
$smtp->to($empfaenger);
$smtp->data();
$smtp->datasend("Subject: $subj\n");
$smtp->datasend("To: $empfaenger\n");
$smtp->datasend("\n");
$smtp->datasend("Persoenliche Daten\n");
$smtp->datasend("------------------------------------------\n");
$smtp->datasend("Name: $username\n");
$smtp->datasend("Vorname: $uservname\n");
$smtp->datasend("Strasse, Hausnummer: $addstr, $addhnr\n");
$smtp->datasend("PLZ, Ort: $addplz, $addort\n");
$smtp->datasend("Land: $addland\n");
$smtp->datasend("Tel.: $addtel\n");
$smtp->datasend("Fax: $addfax\n");
$smtp->datasend("-------------------------------------------\n");
$smtp->datasend("\n");
$smtp->datasend("Nachrichtkoerper\n");
$smtp->datasend("----------------\n");
$smtp->datasend("$text\n");
$smtp->datasend("\n");
$smtp->dataend();
$smtp->quit;
print << "END"
Content-type: text/html\n\n
<HTML>
<HEAD>
<TITLE>Das ist ein Test</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
<H3>Die Mail wurde verschickt</H3>
</BODY>
</HTML>
END
-------------------
Kann mir jemand sagen woran könnte es liegen???
Ich danke euch für eure Hilfe im Voraus
Gruss
x-VieW