2012-05-23 46 views
1

我正在使用ColdFusion構建CSV文件,然後將其作爲電子郵件附件發送給用戶。通過ColdFusion發送CSV附件到LotusNotes用戶閱讀電子郵件的問題

我複製自己的電子郵件,在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 

任何想法這裏發生了什麼?

+1

不知道爲什麼它是一個.dat文件,但你有沒有嘗試過應用程序/ xls? –

+0

@MarkAKruger我會嘗試。 –

回答

1

事實證明,解決方案非常簡單。正在發送的文件在文件名中有空格。當我從文件名中刪除空格時,文件正常接收。

4

您是否通過Microsoft Exchange服務器向外發送郵件,並且Lotus Notes收件人將它視爲winmail.dat文件?如果是這樣,那麼問題在於您發送郵件的郵件服務器被配置爲以TNEF格式發送,而不是本機MIME發送給外部收件人。 TNEF是微軟格式,不是標準格式,儘管許多郵件服務器可以正確轉換它 - 這可以解釋爲什麼gmail收件人不會遇到問題。最新的Lotus Domino版本也可以將其轉換,但可能沒有配置該功能。

請參閱MS Knowledge Base article以防止發送方和/或此IBM Tech Note打開解碼入站端TNEF的Domino服務器上的功能。

+0

很好的答案,但它讓我感覺到text/csv MIME類型正常通過,沒有.dat文件轉換。 –

+0

我不是Exchange專家(事實上,我對此知之甚少),但它有可能會分裂郵件並向不同的收件人發送不同的格式。您想知道的決定性內容是Domino服務器在MIME中看到的內容。不幸的是,該信息可能很難得到。如果Lotus Notes用戶被配置爲以Notes格式接收他的郵件,它將在存入他的郵箱之前經過轉換。但是,如果他被配置爲以MIME格式接收,他應該沒有改變地接收它,並且應該能夠查看MIME源。 –

+0

我會研究這個。不幸的是,我無法控制最終用戶的Lotus配置。奇怪的是,同一家公司的其他用戶正在接收其他的CSV文件,沒有任何問題。 –

0

詢問Domino管理員添加以下到郵件服務器上的NOTES.INI:

TNEFEnableConversion = 1

這將確保Domino可以處理由一個發送的電子郵件Exchange服務器,並以MS TNEF格式封裝。

相關問題