Fre*_*edV 5 php pdf email attachment phpmailer
我正在尝试使用phpmailer类发送带有PDF附件的电子邮件.
我用过这段代码:
在mailTo功能:
$mail->AddAttachment($pdffile);
Run Code Online (Sandbox Code Playgroud)
哪里 $pdffile = $_SERVER['DOCUMENT_ROOT'] . "/facturen/test.pdf"
发送邮件会产生一封没有附件的电子邮件,但是:
--b1_3768f40f33d9a5dec555d03a15af14f9
Content-Type: text/html; charset = "iso-8859-1"
Content-Transfer-Encoding: 8bit
Run Code Online (Sandbox Code Playgroud)
在我的电子邮件顶部和我的电子邮件底部:
--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
Run Code Online (Sandbox Code Playgroud)
等等...
怎么解决这个?
Aks*_*kar 10
试试这个,它对我有用......
$mail->AddAttachment('path_to_pdf', $name = 'Name_for_pdf', $encoding = 'base64', $type = 'application/pdf');
Run Code Online (Sandbox Code Playgroud)
在你的情况下
$mail->AddAttachment($_SERVER['DOCUMENT_ROOT'].'/facturen/test.pdf', $name = 'test', $encoding = 'base64', $type = 'application/pdf');
Run Code Online (Sandbox Code Playgroud)
您还可以使用另外三个参数,所有这些参数都是可选的:
AddAttachment($path,$name,$encoding,$type);
Run Code Online (Sandbox Code Playgroud)
另请遵循此答案:Send File Attachment from Form using phpMailer and PHP
还有另一种添加附件的方法。如果您想制作一封包含图像的 HTML 电子邮件,并将其合并到桌面中,则需要附加该图像,然后将标签链接<img src="cid:CID" />到该图像。例如,如果您使用 CID my-photo 添加图像作为内联附件,则可以在 HTML 电子邮件中通过<img src="cid:my-photo" alt="my-photo" />.
详细来说,这是添加内联附件的函数:
$mail->AddEmbeddedImage(filename, cid, name);
Run Code Online (Sandbox Code Playgroud)
通过将此函数与上面示例的值结合使用,将生成以下代码:
$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg ');
Run Code Online (Sandbox Code Playgroud)