Multipart /替代附件

时间:2013-09-08 04:12:40

标签: php email

我正在尝试创建一个multipart/mixed电子邮件,其中multipart/alternative(html / text)作为一个部分,附件作为另一部分。

我找到了答案here ,但无法让它发挥作用。

我发现的是在multipart/alternativemultipart/mixed使用不同的边界。

我找到了一个例子here。这个例子看起来像我在寻找,但我的代码不起作用。我收到一封包含3个附件(.dat,.html和.pdf)的空电子邮件,或者带有一个二进制“.dat”附件的空电子邮件。

我的代码出了什么问题:

Date: Sun, 08 Sep 2013 10:38:15 +0700
Subject: Login details for Test
To: test@test.com
X-PHP-Originating-Script: 0:Mail.class.php
from: no_reply@localhost
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="38651c4450f87348fcbe1f992746a954"

--38651c4450f87348fcbe1f992746a954
Content-Type: mixed/alternative; boundary="sub_38651c4450f87348fcbe1f992746a954"

--sub_38651c4450f87348fcbe1f992746a954
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Plain text message

--sub_38651c4450f87348fcbe1f992746a954
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 7bit

Dear [realname],<br><br>

You've requested to resend your login credentials for Test.<br><br>

<b>HTML</b> message

--sub_38651c4450f87348fcbe1f992746a954--

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

JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAy
IDAgUgovQ29udGVudHMgNCAwIFI+PgplbmRvYmoKNCAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVj
etc, etc

--38651c4450f87348fcbe1f992746a954--

2 个答案:

答案 0 :(得分:0)

您写的mixed/alternative应为multipart/alternative

答案 1 :(得分:0)

最好尝试使用 PHPMailer 。它非常易于使用广告配置。在示例目录中,您还可以看到多个附件的解决方案。我正在使用它。

https://github.com/Synchro/PHPMailer