guten Abend,
Du kannst aber mal versuchen, bei deinen verborgenen Formularfeldern die Zeilenumbrüche wegzulassen (das "\n" am Zeilenende), beispielsweise hier:
s += '<input type="hidden" name="To" value="netstein@gmx.net">\n'
Ich glaube auch das es was mit der mws_Mail.pl zu tun hat.
die /n weglassen - ich werds mal probieren.
das oberkomische ist : es wurde nix geändert an all den scripten.
von heute auf morgen ging es auf einmal anders.
und mit opera geht es immer noch richtg.
unten das mail.pl
Grüße Netstein
#!/usr/bin/perl
$mailprog = "/usr/sbin/sendmail";
&ReadParse;
&processOrder;
&print_danke;
exit(0);
sub processOrder {
$boundary = time;
@str = ();
push(@str,"| $mailprog -t");
$- = 0;
foreach $str (@str) {
open(FILE, $str) || &return_failed_file_open($str);
print FILE "To: $in{'To'}\n";
print FILE "From: $in{'From'}\n";
print FILE "Reply-To: $in{'From'}\n";
print FILE "Subject: $in{'Subject'}\n";
print FILE "X-Mailer: Super Mailer\n";
print FILE "MIME-Version: 1.0\n";
print FILE "Content-Type: multipart/mixed; boundary="_" . $boundary . "_"\n\n";
print FILE "--_" . $boundary . "_\n";
print FILE "Content-Type: text/plain; charset="us-ascii"\n\n";
print FILE "$in{'Message'}\n";
print FILE "--_" . $boundary . "_\n";
print FILE "Content-Type: text/plain; charset="us-ascii"\n";
print FILE "Content-Disposition: attachment; filename="order" . $boundary . ".osm"\n\n";
print FILE "$in{'Attachment'}\n\n\n";
print FILE "--_" . $boundary . "_\n";
close(FILE);
}
}
sub ReadParse {
if (@_) {
local (*in) = @_;
}
local ($i, $loc, $key, $val);
# Read in text
if ($ENV{'REQUEST_METHOD'} eq "GET") {
$in = $ENV{'QUERY_STRING'};
} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
}
# Puffern des Input
$in_buffer = $in;
@in = split(/&/,$in);
foreach $i (0 .. $#in) {
# Convert plus's to spaces
$in[$i] =~ s/+/ /g;
# Convert %XX from hex numbers to alphanumeric
$in[$i] =~ s/%(..)/pack("c",hex($1))/ge;
# Split into key and value.
$loc = index($in[$i],"=");
$key = substr($in[$i],0,$loc);
$val = substr($in[$i],$loc+1);
$in{$key} .= '\0' if (defined($in{$key})); # \0 is the multiple separator
$in{$key} .= $val;
}
return 1; # just for fun