Thread Probleme mit dem Mailversand nach Umstieg auf Perl 5.10 (26 answers)
Opened by Michael at 2010-12-16 12:07

topeg
 2010-12-20 14:49
#143740 #143740
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
### HTML-Datei öffnen, lesen, Inhalt in die Email schreiben und schließen
open(FILE, "$tempdir/$htmlfile") or die "Can't open data: '$htmlfile'!\n$!";
read(FILE, $buf, 60*57);

$msg->attach(
        Type     =>'text/html',
        Data     =>"$buf"
    );

close(FILE);
Warum ließt du 60*57 (3420) Byte aus der Datei? Das finde ich seltsam. Besser ist es doch so:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
### HTML-Datei öffnen, lesen, Inhalt in die Email schreiben und schließen
{
  # Drei Parameter "$tempdir" könnte auch "> /tmp" sein
  # und "$htmlfile" eine wichtige Datei ("../irgendwo/hin.datei.conf").
  open(my $fh, '<', "$tempdir/$htmlfile") or die "Can't open data: '$htmlfile'!\n$!";
  binmode($fh); # keine Zeichenumwandlung
  local $/=undef; # keine Zeilentrenner
  $msg->attach(
        Type     =>'text/html',
        Data     =><$fh>,
    );

  close($fh);
}


Weiterhin prüfe ob "$tempdir" sinnvoll gesetzt ist. Z.B. so:
Code (perl): (dl )
die("No tempdir") unless(-d $tempdir);

Das prüft ob das Verzeichnis existiert. man kann auch noch weitergehend testen.

View full thread Probleme mit dem Mailversand nach Umstieg auf Perl 5.10