2015-07-15 1 views
0

Я хочу сгенерировать и отправить PDF-файл по почте. Когда я получаю почту, содержимое внутри pdf-файла неверно. Вот мой код:Сгенерировать и отправить файл в формате pdf с почтой

   $txt = 'hello'; 
       $dompdf = $this->get('slik_dompdf'); 
       $dompdf->getpdf($txt); 
       $dompdf->stream('karan.pdf'); 
       $pdfoutput = $dompdf->output(); 
       $a = chunk_split(base64_encode($pdfoutput)); 
       // echo"<pre>";print_r($pdf) ;die; 
       $filename = $pdfoutput; 

       $email = '[email protected]'; 
       $date = date("Y/m/d."); 
       $headers = "MIME-Version: 1.0" . "\r\n"; 
       $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
       $headers .= 'From: <[email protected]>' . "\r\n"; 
       $headers .= "Content-Disposition: attachment; filename=\"" . $filename . "\"\r\n\r\n"; 
       $to = $email; 
       $subject = "Registrar Admin Password Reset"; 
       $txt= 'hello your information is in attachment'; 

       mail($to,$subject,$txt,$headers); 

Пожалуйста, помогите.

+0

использовать классы для генерации PDF .... Http: //www.fpdf.org/en/tutorial/index.php –

+0

что ваш точный проблема –

+0

моя точная проблема - это разрозненная pdf неверна в электронной почте –

ответ

0

Попробуйте это ... !!

$content="<html>html content here</html>" ; 

$html2pdf = Yii::app()->ePdf->HTML2PDF(); 

$html2pdf->WriteHTML($content); 
$to = "[email protected]"; 
$from = "[email protected]"; 
$subject = "Thank you for your Contribution"; 
$message = "<p>Your Message</p>"; 

$separator = md5(time()); 
$eol = PHP_EOL; 
$filename = "example.pdf"; 
$pdfdoc = $html2pdf->Output('', 'S'); 
$attachment = chunk_split(base64_encode($pdfdoc)); 
$headers = "From: " . $from . $eol; 
$headers .= "MIME-Version: 1.0" . $eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol . $eol; 

$body .= "Content-Transfer-Encoding: 7bit" . $eol; 
$body .= "This is a MIME encoded message." . $eol; 
$body .= "--" . $separator . $eol; 
$body .= "Content-Type: text/html; charset=\"iso-8859-1\"" . $eol; 
$body .= "Content-Transfer-Encoding: 8bit" . $eol . $eol; 
$body .= $message . $eol; 
$body .= "--" . $separator . $eol; 
$body .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"" . $eol; 
$body .= "Content-Transfer-Encoding: base64" . $eol; 
$body .= "Content-Disposition: attachment" . $eol . $eol; 
$body .= $attachment . $eol; 
$body .= "--" . $separator . "--"; 
mail($to, $subject, $body, $headers); 
0

Я предлагаю вам использовать PHPMailer для отправки электронной почты, потому что это очень простой в использовании и библиотеки MPDF для создания PDF-файлов (преобразование html2pdf + поддержка UTF-8). Я создал приложение, которое отправляет динамически созданные PDF-файлы по электронной почте, и работает отлично.

PHPMailer: https://github.com/PHPMailer/PHPMailer

MPDF: http://www.mpdf1.com/mpdf/index.php

 Смежные вопросы

  • Нет связанных вопросов^_^