phpbar.de logo

Mailinglisten-Archive

[php] PDF mit fpdf generieren und als E-Mail-Anhang versenden

[php] PDF mit fpdf generieren und als E-Mail-Anhang versenden

Holger Zengerle Flat-Eric- at gmx.net
Mit Mar 2 13:51:17 CET 2005


Hallo zusammen,

Ich will in einer php-Seite eine Rechnung erstellen, die letztlich gleich
per E-Mail im Anhang verschickt wird.

Zum Erstellen der PDF nehme ich fpdf (www.fpdf.org). Das Erstellen alleine
funktionier auch, aber wenn ich das umbaue, damit die PDF verschickt wird
geht nichts mehr.
Das heist, es wird mir keine Mail als PDF geschickt.

Ich habe den nachstehenden code aus dem Forum von dort
(http://www.fpdf.org/phorum/read.php?f=1&i=20065&t=20052#20065) kopiert und
entsprechend angepasst. Aber es tut nicht und finde auch den Fehler nicht.
Dazu habe ich zu wenig Ahnung und kann zu wenig englisch.

Ich hoffe es kann mir jemand helfen.

Ich habe folgende Testdatei erstellt die nachstehendes enthält:

------------------------
$to='flat-eric- at gmx.net';
$subject='Test Rechnungsversand';
$message='Testmail für den Rechnungsversand';
$typemime='MIME-Version: 1.0';
$name='Test-Rechnung.pdf';
$from='flat-eric- at gmx.net';

define('FPDF_FONTPATH','font/');
require('fpdf.php');

$pdf=new FPDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hallo Dr. Web!');
$rechnung = $pdf->Output('', 'S');


function mail_attach($to , $subject , $message , $rechnung , $typemime ,
$name , $from)
{
$limite = "_parties_".md5(uniqid (rand()));
$mail_mime .= "Content-Type: multipart/mixed;\n";
$mail_mime .= " boundary=\"----=$limite\"\n\n";
$texte = "------=$limite\n";
$texte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$texte .= "Content-Transfer-Encoding: 32bit\n\n";
$texte .= stripslashes($message);
$texte .= "\n\n";
$attachement = "------=$limite\n";
$attachement .= "Content-Type: $typemime; name=\"$name\"\n";
$attachement .= "Content-Transfer-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
$fp = fopen($rechnung, "rb");
$buff = fread($fp, filesize($rechnung));
fclose($fp);
$attachement .= chunk_split(base64_encode($buff));
$attachement .= "\n\n\n------=$limite\n";
$subject = stripslashes($subject);
$from = stripslashes($from);
if (file_exists($rechnung))
{
return mail($to, $subject, $texte.$attachement, "From: $from\n".$mail_mime);
}
else
{
return mail($to, $subject, $texte, "From: $from\n".$mail_mime);
}

}
----------------------


Gruß
Holger


php::bar PHP Wiki   -   Listenarchive