首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成并通过邮件发送pdf文件

生成并通过邮件发送pdf文件
EN

Stack Overflow用户
提问于 2015-07-15 21:53:38
回答 2查看 1.1K关注 0票数 0

我想生成并在邮件中发送pdf文件。当我收到邮件时,pdf文件中的内容不正确。下面是我的代码:

代码语言:javascript
复制
                $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 = 'abhinandank@ocodewire.com';
                $date = date("Y/m/d.");
                $headers = "MIME-Version: 1.0" . "\r\n";
                $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
                $headers .= 'From: <support@rdrp.com>' . "\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);

请帮帮忙。

EN

回答 2

Stack Overflow用户

发布于 2015-07-15 22:19:28

试试这个...!!

代码语言:javascript
复制
$content="<html>html content here</html>"  ; 

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

$html2pdf->WriteHTML($content);
$to = "dheerajchouhan85@gmail.com";
$from = "no-reply@email.com";
$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
EN

Stack Overflow用户

发布于 2015-07-15 22:25:58

我建议你使用PHPMailer来发送电子邮件,因为它非常容易使用,并且可以使用mpdf库来创建mpdf (html2pdf转换+ utf-8支持)。我已经创建了通过电子邮件发送动态创建的PDF的应用程序,它工作得很完美。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31432386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档