0

可能重复:
如何使用 PHP 发送带附件的电子邮件?
PHP mail() 附件问题

我正在尝试实现这个脚本: 发送带有附件的 PHP HTML 邮件

我在脚本中唯一修改的是发送地址和文件。我正在尝试附加.mp3文件而不是.zip文件 - 也许这就是我得到意外结果的原因?

.mp3文件只有31kb

但是当我收到电子邮件时,邮件中没有附件,也没有 HTML 格式。

电子邮件包含:

--PHP-mixed-a80d597fc7c02e67ff5be867c7a48bab
Content-Type: multipart/alternative; boundary="PHP-alt-a80d597fc7c02e67ff5be867c7a48bab"

--PHP-alt-a80d597fc7c02e67ff5be867c7a48bab
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hello World!!!
This is simple text email message.

--PHP-alt-a80d597fc7c02e67ff5be867c7a48bab
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<h2>Hello World!</h2>
<p>This is something with <b>HTML</b> formatting.</p>

--PHP-alt-a80d597fc7c02e67ff5be867c7a48bab--

--PHP-mixed-a80d597fc7c02e67ff5be867c7a48bab
Content-Type: application/zip; name="attachment.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

SUQzAwAAAAABIVRQRTEAAAAfAAAB//5DAGgAZQBlAHMAZQBDA.....
4

1 回答 1

0

我正在查看您邮件中的这一行:

内容类型:应用程序/zip;名称="附件.zip"

您正在附加一个 mp3 文件,因此您的内容类型应为音频/mpeg3,文件名应与您发送的任何内容一致。

内容类型:音频/mpeg3;名称="somefile.mp3"

另外 - 小心 64 位编码。您必须对 mp3 进行编码才能邮寄,因为如果您不这样做,您将再次得到意想不到的结果。

于 2012-10-04T23:44:35.723 回答