例如,假设我的应用程序发送带有二进制附件的邮件(例如somedata.xlsx
)。在编写邮件消息时(以编程方式),我可以
只需将附件的MIME类型设置为application/octet-stream
或
根据文件的实际内容设置“正确”MIME类型(例如application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
文件的somedata.xlsx
。
我们也假设
为什么我要经历使用不同MIME类型而不仅仅是application/octet-stream
的麻烦?根据我的经验,我测试的所有电子邮件客户端都会做“正确”无论MIME类型是xlsx
还是application/octet-stream
,双击邮件附带的application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
文件时都会“¹”。
这是一个很好的练习²还是会产生真正的实际差异?
¹,即在Windows系统上,查找注册表中的xlsx
处理程序并启动它以打开文件。
²就个人而言,我认为“良好做法”是一个很好的理由。然而,为了科学的好奇心,我感兴趣的是它是否有实际意义。
答案 0 :(得分:0)
这个答案完全是推测性的。
假设一个中间系统(即在服务器端实现的某些邮件过滤器)阻止访问/删除所有“安全”MIME类型以保护客户端系统。 application/octet-stream
可能不应被视为安全,但真正的MIME类型可能是。在这种情况下,行为会有实际差异。