多部分电子邮件;作为附件制作的纯文本

时间:2013-08-17 11:29:41

标签: email email-attachments multipart

我正在尝试发送包含普通纯文本部分和附件的多部分电子邮件。

但是我遇到的问题是,在某些电子邮件客户端(例如gmail)上,纯文本部分未显示,而是作为名为noname.txt的附件制作。在thunderbird等其他客户端上,它似乎显示正确。所有附件似乎都正常工作,由于某种原因,只有文本也作为附件制作。下面的所有内容都是发送的,虽然我删除了一些东西。所有的CRLF都是正确的等等。

我试图在第一个附件的边界之前制作另一个CRLF,但似乎没有帮助。

请注意,使用框架发送电子邮件不是一种选择,我需要手动构建它。

我似乎无法弄清楚这个问题,所以非常感谢任何帮助。感谢

To: "Name" <email@name.com>
From: "Name" <email@name.com>
Subject: Subject
Content-Type: multipart/mixed; boundary=-----0d2e2a0ba179f065ae392b2527b2eb39-----;
Date: Fri, 16 Aug 2013 20:46:14 +0200
MIME-Version: 1.0

This is a multi-part message in MIME format.
-------0d2e2a0ba179f065ae392b2527b2eb39-----
Content-Type: text/plain charset="UTF-8"
Content-Transfer-Encoding: 7bit

Text goes here
-------0d2e2a0ba179f065ae392b2527b2eb39-----
Content-Type: application/x-msexcel
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file1.xls"

BASE64 encoded file

-------0d2e2a0ba179f065ae392b2527b2eb39-----
Content-Type: application/x-msexcel
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file2.xls"

BASE64 encoded file

-------0d2e2a0ba179f065ae392b2527b2eb39-----
Content-Type: application/x-msexcel
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file3.xls"

BASE64 encoded file

-------0d2e2a0ba179f065ae392b2527b2eb39-------

2 个答案:

答案 0 :(得分:0)

您是否尝试使用标头Content-Disposition: inline作为text/plain数据。更多信息in RFC

答案 1 :(得分:0)

终于找到了问题。这是一个缺少的分号:

Content-Type: text/plain charset="UTF-8"