我有一个使用coldfusion 10的简单邮件发件人,首先允许用户上传然后将这些文件附加到电子邮件中。
这些文件附加像;
<CFMAILPARAM FILE="#file#" DISPOSITION="attachment" TYPE="#type#/#subtype#">
今天我们上传并发送了两个文件名为
的附件Blah_Blah_something_off_Brazil_Site-Table_4.docx
Blah_something_off_Brazil_Sites-map.pdf
但在outlook / live mail中,附件显示为;
ATT00247.docx
ATT00249.pdf
我之前遇到的问题是Outlook / Live邮件和附件被赋予了不同的文件名,但这是文件名中的空格。这些文件没有空格。所以我看了一下电子邮件来源,它将附件显示为;
Blah_Blah_something_off_Bra%7ail_Site-Table_4.docx
Blah_something_off_Bra%7ail_Sites-map.pdf
用%7a替换了z&#39。
我查看了thunderbird中的电子邮件来源,它正确显示了名称,但即便如此,在源代码中,文件名已将z替换为%7a
所以我创建了一个文本文件,将其保存为brazil.txt,上传并发送出去
在outlook和thunderbird的电子邮件来源中,它来自;
胸罩%7ail.txt
我知道%7a是一个编码为z的网址。上传/保存在服务器上的文件没有 - 它有z。只有在通过电子邮件发送时才会将z更改为%7a
任何人都知道最新情况怎么样?!为什么不像文字z那样冷冻cfmail?!
编辑 - 所以我刚刚创建了一个名为
的文本文件abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.txt
它来自;
abcdefghijklmnopqrstuvwxy%7aABCDEFGHIJKLMNOPQRSTUVWXYZ.txt
因此它的唯一小写字母z会被改变......
除了
好吧,我修好了 - 删除TYPE =&#34; #type#/#subtype#&#34;做了这个工作,但我不知道为什么会造成麻烦。下面是为每个文件填写的类型/子类型(来自upload / cffile);
zanzibar1.txt - text/plain
Blah_Something_off_Brazil_Sites-map-test1.pdf - application/pdf
Blah_Blah_Something_off_Brazil_Site-Table_4-test1.docx - application/vnd.openxmlformats-officedocument.wordprocessingml.document
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1.txt - text/plain
我测试的所有电子邮件客户端似乎都不关心缺少的类型/子类型,它们都显示正确的文件名。但是我没有看到类型/子类型的错误......