Tom: E-Mail mit Anhang versenden Problem

Beitrag lesen

Hello,

$data = chunk_split(base64_encode($dat['data']), .......);  // <-- Umbruch?

$content.= "--".$mime_boundary."\r\n";
         $content.= "Content-Disposition: attachment;\r\n";
         $content.= "\tfilename="".$dat['name']."";\r\n";
         $content.= "Content-Length: .".$dat['size'].";\r\n";

Bezieht sich Content-Length nicht auf die Anzahl zu übertragener Bytes?
Du beziehst es aber auf den Content in decodierter Form.

Eine weitere Fehlerquelle sehe ich darin, wie die Übertragung ausgeführt wird.
Benutzt Du die mail()-Funktion auf einem Linux-Host? Dann ist diese assoziiert mit (verlinkt auf) ein(em) Script, dass meistens sendmail-artig arbeitet. Dann will dieses Script aber die Zeilenumbrüche selber von "\n" auf "\r\n" umbauen.

In diesem Falle solltest Du durchgängig nur "\n" benutzen.
Das Script macht dann die RFC-konforme Version daraus.

Wenn die Übertragung aber durch direkte Übergabe an den SMTP-Service auf Deinem Host stattfindet 8also auf WinDOSen ist das meistens so), dann musst Du die Zeilenumbrüche richtig codieren.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de