无法加载文档 PHPMailer PDF Base64 字符串



我想使用 BASE64 字符串发送 PDF 文档。PDF 会发送,但当您通过电子邮件下载/打开 PDF 文档时,它不会加载。我尝试在 Chrome 中复制并粘贴字符串,它会生成一个 PDF。如何解决?

if(isset($_POST['pdf'])) {
$base64String = 'data:application/pdf;filename=generated.pdf;base64,JVBERi0xLjMKJbrfrOAKMyAwIG9iago8PC9...';
$phpmailer->addStringAttachment(base64_decode($base64String) 'セラミック矯正治療のご案内.pdf');
}

该代码不会生成有效的二进制附件,因为完整的dataURL 不是 base64 字符串。从数据中删除标头并对其进行解码,即在尝试解码之前去除data:application/pdf;filename=generated.pdf;base64,前缀。

如果你从 PHP PDF 生成器获取字符串,你应该能够直接从中获取二进制 PDF 字符串,你可以直接传递给 PHPMailer,这将为你处理编码。

最新更新