Php 带附件的多部分/备选方案

Php 带附件的多部分/备选方案,php,email,Php,Email,我正在尝试创建一封多部分/混合电子邮件,其中一部分是多部分/备选(html/text),另一部分是附件 我找到了答案 ,但无法使其工作 我发现在multipart/mixed中使用了multipart/alternative,具有不同的边界 我找到了一个例子。这个例子看起来像我正在寻找的,但是我的代码不起作用。我要么收到一封带有3个附件(.dat、.html和.pdf)的空电子邮件,要么收到一封带有一个二进制“.dat”附件的空电子邮件 我的代码有什么问题: Date: Sun, 08 Sep

我正在尝试创建一封
多部分/混合
电子邮件,其中一部分是
多部分/备选
(html/text),另一部分是附件

我找到了答案 ,但无法使其工作

我发现在
multipart/mixed
中使用了
multipart/alternative
,具有不同的边界

我找到了一个例子。这个例子看起来像我正在寻找的,但是我的代码不起作用。我要么收到一封带有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--
日期:2013年9月8日星期日10:38:15+0700
主题:测试的登录详细信息
致:test@test.com
X-PHP-origing-Script:0:Mail.class.PHP
发件人:没有_reply@localhost
MIME版本:1.0
内容类型:多部分/混合;边界=“38651c4450f87348fcbe1f992746a954”
--38651c4450f87348fcbe1f992746a954
内容类型:混合/备选;boundary=“sub38651C4450F87348FCBE1F992746A954”
--sub_38651c4450f87348fcbe1f992746a954
内容类型:文本/纯文本;charset=“UTF-8”
内容传输编码:7bit
纯文本消息
--sub_38651c4450f87348fcbe1f992746a954
内容类型:text/html;charset=“UTF-8”
内容传输编码:7bit
亲爱的[realname],

您已请求重新发送登录凭据以进行测试。

HTML消息 --sub_38651c4450f87348fcbe1f992746a954-- --38651c4450f87348fcbe1f992746a954 内容类型:应用程序/八位字节流;name=“test.pdf” 内容处置:附件; filename=“test.pdf” 内容传输编码:base64 JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAy IDAgUgovQ29udGVudHMgNCAwIFI+PGPLBMRVYMOKNCAWIG9IAGO8PC9GAWX0ZXIGL0ZSYXRLRRGVJ 等等等等 --38651c4450f87348fcbe1f992746a954--
您编写了
mixed/alternative
,当它应该是
多部分/alternative
时,最好尝试使用PHPMailer。它是非常容易使用的广告配置。在示例目录中,您还可以看到多个附件的解决方案。我在用这个


成功了!看起来我是在盯着自己的代码看的时候瞎了眼。谢谢你,巴尔马!