通过ColdFusion向用户阅读Lotus Notes中的电子邮件发送CSV附件的问题

时间:2012-05-23 16:07:13

标签: csv coldfusion mime-types lotus-notes email-attachments

我使用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 个答案:

答案 0 :(得分:4)

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

请参阅此MS Knowledge Base article以防止它在发送方和/或此IBM Tech Note打开在服务器上解码入站端TNEF的功能。

答案 1 :(得分:1)

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

答案 2 :(得分: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

答案 3 :(得分:0)

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

TNEFEnableConversion = 1

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