已发送phpmailer文件附件,但仅下载字符串

时间:2016-10-01 16:09:03

标签: php phpmailer

我的dxf文件保存在我服务器上的public_html文件夹中。我想将此添加为电子邮件的附件。我应用以下代码行:

$mail->AddStringAttachment($_SERVER['DOCUMENT_ROOT'] . '/myDxf.dxf', 'myFile.dxf', 'base64', 'application/pdf');

这会附加一个dxf并发送电子邮件。但是,当我下载附件时,它不是真正的dxf,而是在文件路径中包含一个字符串:

/home3/frank/public_html/myDxf.dxf

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:2)

以下是两个开始排除故障的地方:

<强> 1。附加档案

而不是:

$mail->AddStringAttachment()

试试这个:

$mail->AddAttachment()
  

File Attachments

     

附加本地文件的命令很简单   $mail->addAttachment($path);,其中$path包含路径   您要发送的文件,可以放在$mail = new PHPMailer;和发送邮件之间的任何位置。请注意,您无法使用网址   对于路径 - 您可能只使用本地文件系统路径。

     

如果要从数据库或Web API(例如远程PDF生成器)发送内容,请不要使用此方法 - 请改用addStringAttachment

<强> 2。 MIME类型

而不是:

application/pdf

试试这个:

image/vnd.dxf

MIME类型列表:http://www.freeformatter.com/mime-types-list.html