Wieder Probleme mit Dateianhang bei E-Mails

Alles, was PHP betrifft, kann hier besprochen werden.

Wieder Probleme mit Dateianhang bei E-Mails

Postby Knight1 » 21. April 2006 19:10

Hi Com,
habe da mal wieder ein Problem wie der Titel schon sagt.
Ich erstelle eien Textdatei welche ich als Anhang per E-Mail verschicken möchte. Das ist kein Problem, soll heisen die Datei wird korrekt erstellt mit korrektem Namen und Inhalt.
Wenn ich mir jetzt aber den Header für die baue, wird der codierte Datei-Inhalt als E-Mail-Body dargestellt und nicht in einer TXT-Datei als Anhang. Die Datei fehlt ganz.
Hier der Header den ich baue:

Code: Select all
<?
$Trenner = md5(uniqid(time()));
$header = "Date: " . date("r",time());
$header .= "\n";
$header   .= "MIME-Version: 1.0";
$header .= "\n";
$header   .= "Content-type: text/plain; charset=iso-8859-1;";
$header .= "\n";
$header   .= "From: ***";
$header .= "\n";
$header   .= "To: ***";
$header .= "\n";
$header   .= "Reply-To: ***";
$header .= "\n";
$header   .= "Subject: Neue Bestellung";
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
$header .= "Content-Type: multipart/mixed; boundary=$Trenner";
$header .= "\n";
$header .= "Content-Transfer-Encoding: 8bit";
$header .= "\n";
$header .= "Content-Type: text/plain; name=" . $file_name;
$header .= "\n";
$header .= "Content-Transfer-Encoding: base64";
$header .= "\n";
$header .= "Content-Disposition: attachment; filename=" . $file_name;
$header .= "\n";
$header .= chunk_split(base64_encode(fread(fopen("file_tmp/" . $file_name, "rb"), filesize("file_tmp/" . $file_name))));
$header .= "\n";
$header .= "--$Trenner";
$header .= "\n";
?>


Der Dateiname wird korrekt in der Variablen $file_name übergeben.

Vielleicht sehe ich ja vor lauter Bäumen den Wald nicht, aber ich finde den Fehler nicht. Hier noch ein Screenshot wie die E-Mail aussieht. Klick
Bitte helft mir.

Danke schon im Vorraus.

Kai aka Knight1
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64

Postby Wiedmann » 21. April 2006 20:09

Ich weis jetzt gar nicht ob dich das schon jemand gefragt hat:
Warum benutzt du nicht PEAR::Mail(_Mime) für sowas?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby gfaust » 21. April 2006 23:07

Hallo,

ich stand vor einem ähnlichen Problem und fand die Lösung nicht wirklich einleuchtend....
Ich habe mir eine funktionierende Mail im Quelltext angeschaut und nachgebaut.
Dabei fiel mir auf, dass die Satzzeichen in den (ich nenne es der Einfachheit halber "Befehle") nicht unbedingt logisch (ohne die entsprechende RFC zu kennen) verwendet werden.

Guido
gfaust
 
Posts: 41
Joined: 06. December 2005 18:31

Postby Knight1 » 22. April 2006 06:27

Wiedmann wrote:Ich weis jetzt gar nicht ob dich das schon jemand gefragt hat:
Warum benutzt du nicht PEAR::Mail(_Mime) für sowas?


Weil ich es schonmal mit einer einzigen Datei als Anhang hinbekommen hatte. Ausserdem will ich sowenig wie möglich externe Script/Module nutzen, weil man nie weiß ob die entsprechende Sache installiert ist.
Ich weiß, ich weiß; PEAR::MAIL kann man manuell einbinden.


Nochmal zurück zu meinem Problem. Wie schon gesagt ich hatte es schon einmal mit nur einer Datei am funktionieren. Das war aber vor meiner Reha also vor mehr als 4 Wochen.

Bitte gebt mir tipps was ich eventuelle am Header falsch habe.


Kai aka Knight1
Image
User avatar
Knight1
 
Posts: 310
Joined: 18. October 2003 10:03
Location: Trier
Operating System: Windows 7 Ultimate x64


Return to PHP

Who is online

Users browsing this forum: No registered users and 17 guests