use*_*830 11 php pdf email joomla dompdf
通过DOMPDF将PDF附加到电子邮件的最简单方法是什么?
我正在使用的脚本的末尾(部分内容)如下:
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
//below to save the pdf file - not needed if emailing pdf
file_put_contents('/home/ststrave/public_html/pdf/STS_Brochure.pdf', $dompdf->output());
//below to open pdf in browser - required
$dompdf->stream("STS_Brochure_".rand(10,1000).".pdf", array("Attachment" => false));
jexit();
Run Code Online (Sandbox Code Playgroud)
只是为了澄清 - 这是在Joomla中使用的.
使用标准PHP邮件功能欣赏最简单/最快捷的方式.
干杯;-)
小智 25
好.你已经接受了答案,但是对于其他任何人来到这里,我认为有一种更简单的方法,但它也不是PHP的标准邮件功能,这实际上是行不通的.如果您可以获得邮件包邮件和Mail_mime,那么发送带附件的电子邮件非常容易.您也可以直接附加DomPDF输出而无需创建文件,如下所示:
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->set_paper("letter", "portrait" );
$dompdf->render();
$output = $dompdf->output();
$mm = new Mail_mime("\n");
$mm->setTxtBody($body);
$mm->addAttachment($output,'application/pdf','output.pdf', false);
$body = $mm->get();
$headers = $mm->headers(array('From'=>$from,'Subject'=>$subject));
$mail =& Mail::factory('mail');
if($mail->send($to,$headers,$body)){
echo "Your message has been sent.";
}
Run Code Online (Sandbox Code Playgroud)
PHP 的邮件功能没有“标准”文件附件方法。它是 SMTP 系统的一个极其简单的界面,迫使您自己完成附加文件的所有工作。
我强烈建议使用PHPMailer或Swiftmailer为您发送电子邮件 - 它可以将生成您自己的 MIME 电子邮件和插入附件(许多行代码)的繁重工作减少到总共大约 5 行。
请注意,它们都不会处理来自 DOMPDF 的流式 PDF。您必须将 PDF 保存到临时文件并附加该文件,
| 归档时间: |
|
| 查看次数: |
17501 次 |
| 最近记录: |