【问题标题】:PHPMailer AddStringAttachment with PDFPHPMailer AddStringAttachment 与 PDF
【发布时间】:2013-09-11 23:44:39
【问题描述】:

我是 phpmailer 的新手,我可以发送电子邮件、带有附件的电子邮件和 .txt 文件的字符串附件,但是我不能发送带有 PDF 的字符串附件。电子邮件已发送,但 PDF 已损坏/无法打开。任何人都可以帮助发送附件是 PDF 而不是 .txt 的 AddStringAttachment 吗?谢谢

<?php

require_once('class.phpmailer.php');
$mail = new PHPMailer();

$body2 = "You are receiving this email because the Transfer Application submitted for $Name transferring to $Receiving is missing required documentation. 
Please see the note below for details. The transfer application will not be reviewed until all of the necessary materials are received by the UHSAA.

    <p> Details:
        $Notes ";

$mail->IsSMTP();
$mail->AddAddress($emailp);
$mail->AddCC('transfers@uhsaa.org');
$mail->AddStringAttachment($body2, 'Filename.pdf', 'base64', 'application/octet-stream');

$mail->Subject = "Test";
$body = ("See attachment");
$mail->MsgHTML($body);
$mail->AddAddress($address);
$mail->AddCC($address);
if(!$mail->Send())

;
?>

再次,如果我只是将 Filename.pdf 更改为 Filename.txt 一切正常,所以我假设问题出在编码上,但我无法弄清楚。请帮忙,以便我可以发送字符串附件 PDF。谢谢。

【问题讨论】:

  • “应用程序/八位字节流”,*.pdf。不,不是,它是一串文本,称它为 pdf 并不能神奇地使它成为一个。
  • 我尝试了“application/pdf”,但在尝试打开电子邮件 pdf 作为“application/octet-stream”时,这给了我同样的错误。
  • 它不是pdf,永远不会是pdf,它是一串文本。
  • 你得到了什么?请解释解决方案

标签: php pdf phpmailer email-attachments


【解决方案1】:

无需对pdf字符串进行chunk_split base64encode即可

$mail->addStringAttachment($pdfString, 'vouchers.pdf');

【讨论】:

    【解决方案2】:

    试试

    $mail->AddStringAttachment($body2, 'Filename.pdf', 'base64', 'application/pdf');
    

    会有用的

    【讨论】:

    • 无需指定编码和 MIME 类型 - 两者都会自动设置。
    • 它不工作尝试了两个代码: $mail->AddStringAttachment($body2, 'Filename.pdf','base64','application/octet-stream'); $mail->addStringAttachment($body2, 'vouchers.pdf');
    • $mail->AddStringAttachment($body2, 'Filename.pdf','base64','application/pdf');即使这不起作用
    【解决方案3】:

    这对我来说很好用:

    $mail-&gt;addStringAttachment(base64_decode($attachmentBase64), $filename);

    【讨论】:

    • 是的,那是我的问题。需要先解码字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 2014-08-14
    相关资源
    最近更新 更多