1

我正在使用 ColdFusion 构建一个 CSV 文件,然后将其作为电子邮件附件发送给用户。

我在电子邮件中复制自己,在 Gmail 和 Outlook 中以 CSV 文件的形式接收附件,并且可以在 Microsoft Excel 中以 CSV 文件的形式打开附件。

我正在使用CFMAILPARAM标签附加文件。我尝试过两种方式发送:

<cfmailparam file="C:/temp/myfile.csv" type="text/plain" />

这导致用户看到一个.txt文件。当我收到电子邮件时,标题显示:

Content-Type: text/plain
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*=myfile.csv

使用:

<cfmailparam file="C:/temp/myfile.csv" type="text/csv" />

这会导致用户看到.dat无法在 Microsoft Excel 中打开的文件。当我收到电子邮件时,标题显示:

Content-Type: text/csv
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*=myfile.csv

知道这里发生了什么吗?

4

4 回答 4

4

您是否通过 Microsoft Exchange 服务器向外发送消息,并且 Lotus Notes 收件人是否将其视为 winmail.dat 文件?如果是这样,那么问题在于您发送邮件的邮件服务器配置为以 TNEF 格式而不是本地 MIME 格式发送给外部收件人。TNEF 是 Microsoft 格式,而不是标准,尽管许多邮件服务器确实可以正确转换它——这可以解释为什么 gmail 收件人没有问题。最新的 Lotus Domino 版本也可以转换它,但可能没有配置该功能。

请参阅此MS 知识库文章以防止它在发送端和/或此IBM 技术说明以打开 Domino 服务器上对入站端的 TNEF 进行解码的功能。

于 2012-05-23T18:22:41.243 回答
1

事实证明,解决方案非常非常简单。正在发送的文件的文件名中有空格。当我从文件名中删除空格时,文件被正常接收。

于 2012-05-29T17:53:17.657 回答
0

DAT 文件是 UUEncoded 吗?如果是这样,您的问题可能与此有关。

http://support.microsoft.com/default.aspx?scid=KB;en-us;q138053

几年前有一个 OpenNTF 项目允许您读取 DAT 文件。

http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/WinmailExtractor

于 2012-05-24T06:56:17.853 回答
0

请 Domino 管理员将以下内容添加到邮件服务器上的 notes.ini 中:

TNEFEnableConversion=1

这将确保 Domino 可以处理由 Exchange 服务器发送的电子邮件,并以 MS TNEF 格式封装。

于 2012-05-24T09:11:22.307 回答