作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经尝试了几种解决方案,最接近的(对我来说)应该是这样的:
$file = $pdf->Output('', 'E');
$message->attach(Swift_Attachment::newInstance($file, 'name.pdf', 'application/pdf'));
$pdf
是 TCPDF
的实例,$message
是 Swift_Message
的实例。使用上面的电子邮件发送正常,文件已附加但是当我尝试打开它时我收到文件已损坏或编码错误的错误消息。
我的问题是:如何将 TCPDF 生成的 pdf 作为 Swiftmailer 附件发送而不将文件保存到服务器并在发送电子邮件后将其删除。 Here是 TCPDF 输出方法文档的链接,也许有人可以看到我遗漏的内容。
最佳答案
我正在使用类似的东西并且它正在工作。对于 PDF 内容,我使用了 PDF 库中最简单的示例之一。
[...]
$pdf_as_string = $pdf->Output('', 'S'); // $pdf is a TCPDF instance
[...]
$transport = Swift_MailTransport::newInstance(); // using php mail function
$message->setTo(array(
"client@customdomain.com" => "Main Email",
"client@publicdomain.com" => "Secondary Email"
));
$message->setSubject("This email is sent using Swift Mailer");
$message->setBody("You're our best client ever.");
$message->setFrom("developers@mydomain.com", "Developers United");
$attachment = Swift_Attachment::newInstance($pdf_as_string, 'my-file.pdf', 'application/pdf');
$message->attach($attachment);
[...]
也许这个答案来得有点晚,因为我使用的是 swiftmailer v4_3_0 和 TCPDF v6_0_002。但以防万一对某人来说是值得的。
关于php - 如何将 TCPDF 生成的 pdf 作为 Swiftmailer 附件发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064392/
我是一名优秀的程序员,十分优秀!