gpt4 book ai didi

php - 用 PHPMailer 发送 FPDF 文档;

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:08:06 26 4
gpt4 key购买 nike

我目前正在尝试使用 FPDF 生成 pdf,然后使用 PHPMailer 将其发送到电子邮件中。我知道 PHPMailer 功能正在运行,我可以创建 pdf。但是当我尝试先将 pdf 下载到服务器时,输出 ($pdf,"F"),我得到错误:

Warning (2): fopen(/temp-file.pdf): failed to open stream: Permission denied [APP/Vendor/fpdf/fpdf.php, line 1025]FPDF error: Unable to create output file: /temp-file.pdf

创建的 pdf 文件很长,所以我将向您展示我尝试输出它的过程。

FPDF

$pdfoutputfile = 'temp-folder/temp-file.pdf';
$pdfdoc = $pdf->Output($pdfoutputfile, 'F');

PHPMailer

$mail = new phpmailer;
$mail->SetFrom("info@company.com","Company");
$mail->AddAddress($to);
$mail->Subject = "Invoice $id";
$body .= "This is an automatically generated message from Company \n";
$mail->Body = $body;


$mail->AddAttachment($pdfoutputfile, 'my-doc.pdf');
if(!$mail->Send()) {
$this->Session->setFlash("Invoice was not sent");
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
$this->Session->setFlash("Invoice was sent");
}

有人能给我解决方案吗?谢谢!

最佳答案

您只需要修复您的权限。如果 FPDF 不能写入文件,那么 PHPMailer 就没有任何东西可以发送,所以它当然不会工作。

或者,您可以呈现为字符串并附加它 - 这样就不需要编写文件:

$pdfdoc = $pdf->Output('', 'S');
...
$mail->addStringAttachment($pdfdoc, 'my-doc.pdf');

关于php - 用 PHPMailer 发送 FPDF 文档;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32229527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com