phpbar.de logo

Mailinglisten-Archive

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

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

Michael Borchers borchers at tridem.de
Don Mar 3 11:10:08 CET 2005


> -----Ursprüngliche Nachricht-----
> Von: Holger Zengerle [mailto:Flat-Eric- at gmx.net]
> Gesendet: Mittwoch, 2. März 2005 13:51
> An: 'deutschsprachige PHP-Mailingliste'
> Betreff: [php] PDF mit fpdf generieren und als E-Mail-Anhang versenden
> 
> 
> 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:
> 
> ...


hallo holger,
ich habe es ähnlich gemacht.
da ich allerdings die fpdfs archivieren wollte,
habe ich sie erstmal auf dem server gespeichert
mittels:
$pdf->Output($pdf_file, 'F'); // pdf speichern

und dann mit einer mail funktion verschickt:

function mail_mime($to, $from, $cc, $bcc, $subject, $message, $content_type, $file_src, $file_name, $file_type)
{
//	$header = "To: " . $to;
	$header = "From: " . $from . "\n";
	$header .= "Cc: " . $cc . "\n";;
	$header .= "Bcc: " . $bcc; 

	$boundary = md5(uniqid(time())); 
	$header .= "\n"; 
	$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/" . $content_type; 
	$header .= "\n"; 
	$header .= "Content-Transfer-Encoding: 8bit"; 
	$header .= "\n\n"; 
	$header .= "$message";
	//$header .= "Meine erste Mail mit Anhang!"; 
	$header .= "\n"; 
	$header .= "--$boundary"; 
	$header .= "\n"; 
	$header .= "Content-Type: image/" . $file_type . "; name=$file_name"; 
	$header .= "\n"; 
	$header .= "Content-Transfer-Encoding: base64"; 
	$header .= "\n"; 
	$header .= "Content-Disposition: attachment; filename=$file_name"; 
	$header .= "\n\n"; 
	$filedata .= fread(fopen($file_src, "r"), filesize($file_src)); 
	$header .= chunk_split(base64_encode($filedata)); 
	$header .= "\n"; 
	$header .= "--$boundary--"; 
	
	$mail = mail($to, $subject, "", $header);
	
	return $mail;
}


variablen:
$content_type = "plain";
$file_type    = "pdf";

den rest kannst du benennen!


php::bar PHP Wiki   -   Listenarchive