4 回答

TA贡献1833条经验 获得超4个赞
你好查尔斯瓦辛顿,我已经检查了你的代码示例:
根据您的代码,我看到您正在尝试从字符串加载文件。
这让我有点困惑,因为我立即收到一个错误。您是否已启用并检查了日志?无论如何,你只需要将字符串放入正确的变量中,其他一切都可以正常工作。您可以在下面找到我对您的代码所做的更改。error_reportingerror_log
以前:
$fileatt = $pdf->Output('Profile.pdf', 'S'); // S = Means return the PDF as string
// ... code ...
$pdf_content = file_get_contents($fileatt);
// .. code
$mail->AddStringAttachment($pdf_content, "Prodile.pdf", "base64", "application/pdf");
后:
$pdf_content = $pdf->Output('Profile.pdf', 'S');
// ... code ...
$mail->AddStringAttachment($pdf_content, "Prodile.pdf", "base64", "application/pdf");
我刚刚使用 SES 凭据和自定义 PDF 以及以前生成的 PDF 测试了您的脚本。
如果这有帮助,请告诉我。

TA贡献1839条经验 获得超15个赞
通过使用
$fileatt = $pdf->Output('Profile.pdf', 'S');
//I have also tried $fileatt = $pdf->Output('Profile.pdf', 'I');
require ('PHPMailer/PHPMailerAutoload.php');
$pdf_content = file_get_contents($fileatt);
您正在尝试从字符串中读取file_content。
您只需通过以下方式发送附件
$mail->AddStringAttachment($fileatt, "Prodile.pdf", "base64", "application/pdf");

TA贡献1798条经验 获得超7个赞
我想也许你必须依恋。请参阅此处,第一个答案:base64_decode
$mail->AddStringAttachment(base64_decode($pdf_content), "Prodile.pdf", "base64", "application/pdf");
的第三个参数仅告诉编码,但显然不会为您执行任何编码。AddStringAttachment

TA贡献1806条经验 获得超5个赞
我能够根据ivion的评论对问题进行排序。
$mail->AddStringAttachment($fileatt, "Prodile.pdf", "base64", "application/pdf");
- 4 回答
- 0 关注
- 132 浏览
添加回答
举报