【问题标题】:PHPmailer and pdf attachmentPHPmailer 和 pdf 附件
【发布时间】:2013-09-28 21:51:06
【问题描述】:

我正在尝试使用 phpmailer 类发送带有 PDF 附件的电子邮件。

我使用了这个代码:

mailTo函数内:

$mail->AddAttachment($pdffile);

在哪里$pdffile = $_SERVER['DOCUMENT_ROOT'] . "/facturen/test.pdf"

发送邮件会生成一封没有附件但带有:

--b1_3768f40f33d9a5dec555d03a15af14f9
Content-Type: text/html; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit

在我的电子邮件顶部和底部:

--b1_3768f40f33d9a5dec555d03a15af14f9 
Content-Type: application/octet-stream; name="test.pdf" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; filename="test.pdf" 

JVBERi0xLjQKJcfsj6IKMTEgMCBvYmoKPDwvTGVuZ3RoIDEyIDAgUi9GaWx0ZXIgL0ZsYXRlRGVj
b2RlPj4Kc3RyZWFtCnic7VtZs9zEFa5A2CYpQyALSUiiNyQqI3pfeGOrOECgMJc8BPJg38Xbta8x
NqbyL/Jn85yvF6mPpNbMXMoPVCrlskvT6j59+izfWdT+pmG9UA0Lf4aH43ubt69x2dz8dsOb8Ofh
zY2zrGfeNU7yXmvf3Ns4wXrDxDhiHes50431vGdGlt8K741pjjfDiMEMbZuBgNHhp2qGLYbfxxvP 
fa+9Gke8CTOG9flXoT8MZAaG1QOD8yMcb87e2sieCwXST3DUj/D3Tj7ytb/8bx751uaLzTcNV1r3 
0kVtcy5Vr3ijmeqNwFzfc+51tgLVfHCx+XwT7SMIRbMgsUAZkzkPlFygBCq2V83D00jfOZAUJtE3 
eHamwSoBJhvJlOidzfR1or97iXAWm/i8xBy0xHLZDytsfYXoPV2hNes9z0tcWgKxKq5NMA8RVJCn 
QVzO6UjKaJxb6XTyJCa4yzcb1XNjjI 

等等……

如何解决?

【问题讨论】:

    标签: php email pdf attachment phpmailer


    【解决方案1】:

    试试这个,它对我有用......

       $mail->AddAttachment('path_to_pdf', $name = 'Name_for_pdf',  $encoding = 'base64', $type = 'application/pdf');
    

    你的情况

        $mail->AddAttachment($_SERVER['DOCUMENT_ROOT'].'/facturen/test.pdf', $name = 'test',  $encoding = 'base64', $type = 'application/pdf');
    

    【讨论】:

      【解决方案2】:

      你可以使用另外三个参数,都是可选的:

      AddAttachment($path,$name,$encoding,$type);
      

      也关注这个答案:Send File Attachment from Form Using phpMailer and PHP

      还有一种添加附件的方法。如果您想在桌面上制作包含图像的 HTML 电子邮件,则必须附加图像,然后将<img src="cid:CID" /> 标签链接到它。例如,如果您将图像添加为带有 CID my-photo 的内联附件,您将在带有<img src="cid:my-photo" alt="my-photo" /> 的 HTML 电子邮件中访问它。

      详细来说,这里是添加内联附件的功能:

      $mail->AddEmbeddedImage(filename, cid, name);
      

      通过使用这个函数和上面这个例子的值,结果是这样的代码:

      $mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');
      

      【讨论】:

      • 谢谢,但我正在尝试附加 PDF。我知道 $name,$encoding,$type 参数,但是在这种情况下它们对我有什么帮助?
      【解决方案3】:

      试试这个解决方案: Add attachment through PHPMailer 这似乎完全无关,但也帮助了我。设置邮件正文一定有问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-13
        • 2012-03-22
        相关资源
        最近更新 更多