Phpmailer文件附件交付,但只下载字符串


phpmailer file attachment delivered, but downloads a string only

我有一个dxf文件保存在我的服务器上的public_html文件夹。我想把这个作为附件添加到电子邮件中。我应用以下代码行:

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

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

/home3/frank/public_html/myDxf.dxf

有人能看出我做错了什么吗?

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

1。附加文件

而不是:

$mail->AddStringAttachment()

试试这个:

$mail->AddAttachment()

文件附件

附加本地文件的命令很简单$mail->addAttachment($path);,其中$path为路径您想要发送的文件,并且可以放置在$mail = new PHPMailer;和发送消息之间的任何位置。注意不能使用URL对于路径 -只能使用本地文件系统路径。

如果你想从数据库或web API(例如远程PDF生成器)发送内容,不要使用此方法-使用addStringAttachment代替。


2。MIME类型

而不是:

application/pdf

试试这个:

image/vnd.dxf

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