Mime Mail (pdf als anhang)
danOne
- php
0 Götz
Mahlzeit allerseits,
ich weiß die Frage ist hier schon öfter aufgetaucht und seid gewiss ich vergnüge mich schon seit ca 2 stunden im Archiv, das hat zumindest den effekt gehabt, das ich endlich verstanden habe wie das mit den multipart messages ist. A-B-E-R ich habe es wohl einfach noch nicht wirklich verstanden. Daher die Frage:
Ich möchte eine Email mit einer PDF als Anhang verschicken
skript sieht so aus:
$to=$HTTP_POST_VARS['rec'];
$subject="Newsletter";
$datei="vorschau.pdf";
$boundary = strtoupper(md5(uniqid(time())));
$datei_content = fread(fopen($datei,"r"),filesize($datei));
$datei_content = chunk_split(base64_encode($datei_content),76,"\r \n");
$header="From: info@$SERVER_NAME\r \n";
$header.="Reply-To: info@$SERVER_NAME\r \n";
$header.="X-Mailer: PHP/" . phpversion()."\r \n";
$header.="MIME-Version: 1.0\r \n";
$header.="Content-Type: multipart/mixed; boundary=".$boundary."\r \n";
$header.="--".$boundary."\r \n";
$header.="Content-Type: text/plain\r \n";
$header.="Content-Transfer-Encoding: 8bit\r \n";
$header.="Hallo, im Anhang findest du eine Datei!\r \n";
$header.="--".$boundary."\r \n";
$header.="Content-Type: application/pdf; name=".$datei."\r \n";
$header.="Content-Transfer-Encoding: base64\r \n";
$header.="Content-Description: 'Newsletter'\r \n";
$header.="Content-Disposition: attachment;\r \n";
$header.=$datei_content;
$header.="--".$boundary;
mail($to,$subject,"sd",$header) or die("fehler!");
ich habe $datei jetzt erstmal statisch angegeben (zum testen) die datei liegt im selben verzeichniss wie das skript und wird wohl der ausgabe nach auch gefunden. Die empfängeradresse kommt von einem Formular von wo aus dieses Skript aufgerufen wird.
Das Problem das ich jetzt habe, ist, das ich immer nur die ausgabe der die() Funktion bekomme ("fehler") und mir leider keine debug Möglichkeiten einfallen um rauszukriegen warum dieser fehler auftaucht. Den inhalt von header habe ich mir ausgeben lassen... sieht gut und lang aus :-) ist halt der angebene header plus die pdf im kodierten format.
Vielleicht ist hier ja jemand dem der Fahler sofort beim betrachten des skripts auffällt, wie gesagt so wirklich sicher bin ich mir in diesem Thema noch nicht.
schönen Gruß
.dan.One.
Hallo danOne!
Das Problem das ich jetzt habe, ist, das ich immer nur die ausgabe der die() Funktion bekomme ("fehler") und mir leider keine debug Möglichkeiten einfallen um rauszukriegen warum dieser fehler auftaucht.
So, erstmal verweise ich auf [pref:t=57542&m=322119].
Dort geht es, nur ein paar Threads weiter unten, bereits um anhänge bei Formmailern.
Zum Thema Debugging kannst du ja mal das Error Reporting (http://de.php.net/error_reporting) auf E_ALL stellen. Vielleicht hilft das ja weiter.
MfG
Götz