rolf: die - cannot close email

Beitrag lesen

nochmal,

Dass es den Header "517" nicht gibt. Folgender Schnipsel sollte das reproduzieren:

print "Content-type: text/plain\n";

print 517;


> >   
> > Poste bitte den vollständigen Code.  
>   
  
meinst Du den code vom script?  
Warum sollte im script  
print 517;[/code]  
stehen?  
Wie gehabt das script funktionierte immer einwandfrei, nur  
eben jetzt nach der attacke scheint was mit dem mailprogram nicht zu klappen.  
  
Hier dennoch der vollständige code vom mailscript:  
sub send\_mail {  
  
$mailprog = '/usr/sbin/sendmail';  
# Localize variables used in this subroutine.                            #  
local($print\_config,$key,$sort\_order,$sorted\_field);  
  
# Open The Mail Program  
open(MAIL,"|$mailprog -t") || die "Cannot open mailprog\n";  
  
print MAIL "To: webmaster\@fun.com\n";  
if (!$Config{'email'}) { print MAIL "From: nomail\@fun.com\n"; }  
else  
{ print MAIL "From: $Config{'email'}\n"; }  
  
# Check for Message Subject  
if ($Config{'subject'}) { print MAIL "Subject: $Config{'subject'}\n" }  
else                    { print MAIL "Subject: WWW Form Submission\n" }  
print MAIL "\n\n";  
print MAIL "Fun mail:\n";  
print MAIL "-" x 75 . "\n";  
  
if (@Print\_Config) {  
foreach $print\_config (@Print\_Config) {  
if ($Config{$print\_config}) {  
print MAIL "$print\_config: $Config{$print\_config}\n";  
}  
}  
}  
  
# Sort alphabetically if specified:                              #  
if ($Config{'sort'} eq 'alphabetic') {  
foreach $field (sort keys %Form) {  
  
# If the field has a value or the print blank fields option      #  
# is turned on, print out the form field and value.              #  
if ($Config{'print\_blank\_fields'} || $Form{$field} ||  
$Form{$field} eq '0') {  
print MAIL "$field: $Form{$field}\n";  
}  
}  
}  
  
# If a sort order is specified, sort the form fields based on that.  #  
elsif ($Config{'sort'} =~ /^order:.\*,.\*/) {  
  
# Remove extraneous line breaks and spaces, remove the order:        #  
# directive and split the sort fields into an array.                 #  
$Config{'sort'} =~ s/(\s+|\n)?,(\s+|\n)?/,/g;  
$Config{'sort'} =~ s/(\s+)?\n+(\s+)?//g;  
$Config{'sort'} =~ s/order://;  
@sorted\_fields = split(/,/, $Config{'sort'});  
  
# For each sorted field, if it has a value or the print blank        #  
# fields option is turned on print the form field and value.         #  
foreach $sorted\_field (@sorted\_fields) {  
if ($Config{'print\_blank\_fields'} || $Form{$sorted\_field} ||  
$Form{$sorted\_field} eq '0') {  
print MAIL "$sorted\_field: $Form{$sorted\_field}\n";  
}  
}  
}  
  
# Otherwise, default to the order in which the fields were sent.     #  
else {  
  
# For each form field, if it has a value or the print blank          #  
# fields option is turned on print the form field and value.         #  
foreach $field (@Field\_Order) {  
if ($Config{'print\_blank\_fields'} || $Form{$field} ||  
$Form{$field} eq '0') {  
print MAIL "$field: $Form{$field}\n";  
}  
}  
}  
  
print MAIL "-" x 75 . "\n";  
  
# Send any specified Environment Variables to recipient              #  
print MAIL ".$ip\_now,.$ENV{'HTTP\_USER\_AGENT'}\n";  
print MAIL ".$referer\n";  
  
close (MAIL) || die "Cannot close mail $!\n";  
}  
  
\----------------------------------------------  
  
MfG