Mail()-Anhänge

Vaio82

Erfahrenes Mitglied
Hallo Ihr Lieben,

leider hilft mir die "Suche" bei meinem Problem auch nicht mehr weiter...

Das Dokument wird nicht als Anhang versendet. Vielmehr wird der Inhalt des Dokuments in den "<body>"-Bereich der Mail geschrieben. -> Problem: Content-Type?!

Vielleicht wäre jmd. so freundlich und könnte einmal einen Blick auf den Code werfen:

PHP:
/* Beginn Mail() */

	$message_capt = "neue Projektideen";

$fd = fopen($userfile, "r"); 
$anhang = chunk_split(base64_encode(fread( $fd, filesize($userfile)))); 
fclose($fd); 
$message = "--========1234567\nContent-Type: text/plain; charset=\"us-ascii\"\n Content-Transfer-Encoding: 7bit\n\n\n".$message."\n--========1234567\nContent-Type: $userfile_type; name=$userfile_name\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"$userfile_name\"\n\n".$anhang; 


/* Empfänger der Bestätigung */
mail("Information <information@xy.com>", $message_capt, $message, "From: as@xy.com<as@xy.com>\nMIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"========1234567\""."Reply-To: as@xy.com<as@xy.com>\r\n"."X-Mailer: PHP/" . phpversion());

/* Ende Mail() */

Beispieldatei (leeres Word.doc) aus der erhaltenen Mail:

Code:
--========1234567
Content-Type: text/plain; charset="us-ascii"
 Content-Transfer-Encoding: 7bit



--========1234567
 Content-Type: application/msword; name=System_Test.doc
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="System_Test.doc"

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAEQAAAAAAAAAA
EAAAEgAAAAEAAAD+////AAAAABAAAAD/////////////////////////////////////////
EAAAEgAAAAEAAAD+////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////s
pcAARQAJBAAAABK/AAAAAAAAEgAAAAAABAAAAQQAAA4AYmpiakLgQuAAAAAAAAAAAAAAAAAAAAAA

Ich würde mich wirklich sehr freuen, wenn mir da jmd. helfen könnte.

Beste Grüße,
Claus
 
Zuletzt bearbeitet:
Ich hatte neulich gerade erst das Problem mit dem Anhängen per Mail.
Ich gebe Dir mal mein Script, vielleicht hilft Dir das weiter:
PHP:
<?php
$header = "From: Ansendername <absender@domain.de>\nMIME-Version: 1.0\nContent-Type: multipart/mixed; boundary=\"========1234567\"";
$url = "/home/www/webx/html/db-foto/bilder/xxx.jpg";
$fd = fopen($url, "r");
$attachment = chunk_split(base64_encode(fread($fd, filesize($url))));
fclose($fd);
$nachr = "--========1234567\nContent-Type: text/plain; charset=\"utf-8\"\nContent-Transfer-Encoding: 7bit\n\n\n".$daten."\n--========1234567\nContent-Type: image/jpeg; name=Bild\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=\"Bild\"\n\n".$attachment;
mail("empfänger@domain.de", "Bild", $nachr, $header);
?>
"Absendername" musst Du durch den entsprechenden Absender und "absender@domain.de" bzw. "empfänger@domain.de" durch die jeweilige E-Mail.
Und in "$url" muss der absolute Pfad auf dem Server sein. In meinem Fall war es ein Bild, daher der Pfad zu den Bildern, ... Und den Namen des Anhangs bestimmst Du mit "filename".

redlama
 
Zurück