Problem mit Versenden von Mailanhang

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit Versenden von Mailanhang

Postby grizz » 02. March 2005 11:15

Hallo zusammen

Ich versuche gerade, eine dynamisch (mit fpdf) generierte PDF direkt per Mail zu verschicken. Das Mail beinhaltet zum einen Teil HTML zum anderen Teil die besagte PDF.

Hier mal ein wenig Code:

Code: Select all
$to = eine_adresse@provider.de
$boundary = md5(uniqid(time()));
$subject  = "Betreffzeile";
$header   = "MIME-Version: 1.0";
$header  .= "\n";
$header  .= "Content-Type: multipart/mixed; boundary=".$boundary;
$header  .= "\n\n";
$header  .= "This is a multi-part message in MIME format";
$header  .= "\n";
$header  .= "--".$boundary;
$header  .= "\n";
$header  .= "Content-Type: text/html";
$header  .= "\n";
$header  .= "Content-Transfer-Encoding: 8bit";
$header  .= "\n\n";
$header  .= "<body style=\"font-family:verdana; font-size:12px;\">";
$header  .= "\n";
$header  .= "Dies ist der Inhalt";
$header  .= "\n";
$header  .= "</body>";
$header  .= "\n";
$header  .= "--$boundary";
$header  .= "\n";
$header  .= "Content-Type: application/octetstream; name=Mailanhang.pdf";
$header  .= "\n";
$header  .= "Content-Transfer-Encoding: base64";
$header  .= "\n";
$header  .= "Content-Disposition: attachment; filename=Mailanhang.pdf";
$header  .= "\n\n";
$header  .= chunk_split(base64_encode($buffer));
$header  .= "\n";
$header  .= "--$boundary--\n";
   
mail($to, $subject, '', $header);


Die Variable $buffer entstammt dabei der fpdf-Klasse. Es handelt sich um den generierten Code des PDFs.

Das Problem:
Lass ich das Script laufen, wird die Mail wunderbar, sogar mit Anhang verschickt. Nur lässt sich dieser Anhang nicht öffnen, da dieser gerademal 66 Byte gross ist. Die Variable $buffer, habe ich kontrolliert. Der Code für die PDF ist einwandfrei...
Des Weiteren enthällt die Mail keinen Text, sondern nur den Anhang...


Sieht jemand das Problem?
Danke...
grizz
 
Posts: 7
Joined: 03. January 2005 22:31

Postby Stefan » 02. March 2005 19:58

Dein Script kann ich nicht untersuchen, aber ich kann Dir ein Tipp geben.
Falls Du schon mal mit Klassen gearbeitet hast, empfehle ich Dir, es mal mit der Klasse vom Guru zu versuchen.

http://www.phpguru.org/static/mime.mail.html

Ausführliche Beispiele für alle Fälle sind in dem Download dabei.
Gibt es auch neu "dedicated for Version 5" für php5.

Versuch es einfach mal, ist wirklich zeitgemäßer, besser und unheimlich brauchbar wenn Du geschnallt hast wie es funktioniert.
Bei Problemen werd ich versuchen Hilfestellung zu geben.

ciao, Stefan
User avatar
Stefan
 
Posts: 475
Joined: 26. December 2002 22:36
Location: Mitten in der sonnigen Südpfalz

Postby Wiedmann » 02. March 2005 20:13

Der Vollständigkeit halber...

Es gibt auch bei PEAR ein Package "Mail_Mime", welches beim XAMPP schon dabei sein sollte.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby grizz » 03. March 2005 10:21

Hallo Stefan und Wiedmann

Danke für eure Antworten.
Das mit der Klasse wäre eine super Sache, nur leider hat mein Auftraggeber IIS6 und PHP 4.3.6 installiert. Schon bei der Einleitung steht aber leider "only with PHP5"...
Zeitgemässer wäre es allemal...
Irgendwie muss das doch auch unter PHP 4.3.6 machbar sein... :(

Das Pear Package "Mail_Mime" werde ich mir mal genauer anschauen... Sieht ganz vielversprechend aus... :)

Danke
grizz
 
Posts: 7
Joined: 03. January 2005 22:31


Return to PHP

Who is online

Users browsing this forum: No registered users and 66 guests