Windows server上ColdFusion 2016中的CFMail附件文件名已损坏

Windows server上ColdFusion 2016中的CFMail附件文件名已损坏,coldfusion,cfml,coldfusion-2016,Coldfusion,Cfml,Coldfusion 2016,我正在将一个站点从Linux上的CF10迁移到Windows上的CF2016,并且遇到了cfmail文件附件的问题 我随附cfmail中的文件 <cfmailparam file="#FileName#"> 从Linux随cfmail发送的同一附件给了我: Content-Type: application/octet-stream; name=BLAH_BLAH1_Ownership_Database_Issue_2018-01_In_Development2.xlsx

我正在将一个站点从Linux上的CF10迁移到Windows上的CF2016,并且遇到了cfmail文件附件的问题

我随附cfmail中的文件

<cfmailparam file="#FileName#">
从Linux随cfmail发送的同一附件给了我:

Content-Type: application/octet-stream; 
    name=BLAH_BLAH1_Ownership_Database_Issue_2018-01_In_Development2.xlsx
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0=BLAH_BLAH1_Ownership_Database_Is;
 filename*1=sue_2018-01_In_Development2.xlsx
注意,
内容类型
名称尚未拆分


有人对如何解决这个问题有什么想法吗?

所以,我终于把它整理好了。您需要手动将文件名放入以下类型:

<cfmailparam file="#FileName#" 
      type="#ContentType#/#ContentSubType#;name=""#FileName#""">


我以前从来没有这样做过。我不知道这是Windows server、CF2016还是SmarterMail(我们的邮件服务器),但如果你遇到同样的问题,上面的内容对我很有用。

你可能还会看到我提交给Adobe Bug tracker的报告。自从Coldfusion切换到较新的Javamail之后,我就遇到了长文件名附件的问题


您可以尝试将
解码
属性设置为
文件名
(于2016年推出)属性吗?谢谢@初学者-我尝试了decode=“false”和filename=“#filename#”单独和一起-对于回来发布您的解决方案没有什么不同。
Content-Type: application/octet-stream; 
    name=BLAH_BLAH1_Ownership_Database_Issue_2018-01_In_Development2.xlsx
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename*0=BLAH_BLAH1_Ownership_Database_Is;
 filename*1=sue_2018-01_In_Development2.xlsx
<cfmailparam file="#FileName#" 
      type="#ContentType#/#ContentSubType#;name=""#FileName#""">