I successfully generated the PDF file using mpdf, which I checked by downloading the PDF file. However, when I send a PDF file as an email attachment, I get an empty PDF file with an "Out of memory" error from Adobe Reader. Below is my code:
<?php include("MPDF57/mpdf.php"); ob_start(); include "Receipt_Template_2.php"; $template = ob_get_contents(); ob_end_clean(); $mpdf=new mPDF('','A4','','',32,25,27,25,16,13,'L'); mpdf->WriteHTML($template); $content = $mpdf->Output($template, 'S'); $content = chunk_split(base64_encode($content)); $mailto = ' sample@sample.com '; $from_name = 'KIREA'; $from_mail = ' NoReply@kirea.ca '; $uid = md5(uniqid(time())); $subject = 'KIREA Donation Receipt'; $message = "Thank you for your donation!\n\nAttached is the receipt concerning the donation. If you have any questions, please e-mail us at receipts@kirea.ca ";; $filename = $pdfName; $header = "From: ".$from_name." <".$from_mail.">\n"; $header .= "MIME-Version: 1.0\n"; $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\n"; $header .= "This is a multi-part message in MIME format.\n"; $header .= "--".$uid."\r\n"; $header .= "Content-type:text/plain; charset=iso-8859-1\n"; $header .= "Content-Transfer-Encoding: 7bit\n"; $header .= $message."\n\r\n"; $header .= "--".$uid."\n"; $header .= "Content-Type: application/pdf; name=\"".$filename."\"\n"; $header .= "Content-Transfer-Encoding: base64\n"; $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\n\n"; $header .= $content."\n\n"; $header .= "--".$uid."--"; $is_sent = @mail($mailto, $subject, "", $header); $mpdf->Output(); exit; ?>
Are there any ideas as to why the PDF ends up empty after being sent as an email attachment? Thanks.
user2938543
source share