2

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

但是我遇到的问题是,在某些电子邮件客户端(例如 gmail)上,纯文本部分未显示,而是作为名为 noname.txt 的附件制作。在诸如雷鸟之类的其他客户端上,它似乎可以正确显示。所有附件似乎都可以正常工作,只是由于某种原因,文本也被制作为附件。尽管我删除了一些内容,但以下所有内容均已发送。所有的 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-------
4

2 回答 2

0

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

于 2013-08-17T15:05:27.423 回答
0

终于找到问题了。这里缺少分号:

Content-Type: text/plain charset="UTF-8"
于 2013-08-18T15:58:03.580 回答