Email 为什么在发送电子邮件时要指定比应用程序/八位字节流更具体的MIME类型?
例如,假设我的应用程序发送一封带有二进制附件的邮件(例如,Email 为什么在发送电子邮件时要指定比应用程序/八位字节流更具体的MIME类型?,email,language-agnostic,mime-types,Email,Language Agnostic,Mime Types,例如,假设我的应用程序发送一封带有二进制附件的邮件(例如,somedata.xlsx)。当以编程方式制作邮件消息时,我可以 只需将附件的MIME类型设置为application/octet-stream或 根据文件的实际内容设置“正确”的MIME类型(例如,上述somedata.xlsx文件的application/vnd.openxmlformats officedocument.spreadsheetml.sheet) 我们也假设 我知道文件的实际内容(因此选项2是可行的) 文件始终为二进
somedata.xlsx
)。当以编程方式制作邮件消息时,我可以
application/octet-stream
或somedata.xlsx
文件的application/vnd.openxmlformats officedocument.spreadsheetml.sheet
)- 我知道文件的实际内容(因此选项2是可行的)
- 文件始终为二进制文件(即人类无法读取),并且
- 所有收件人都位于“公司Windows世界”,其中文件扩展名是指定文件类型的事实标准
应用程序/八位字节流?
-ing?根据我的经验,我测试的所有电子邮件客户端在双击邮件附加的xlsx
文件时都会做“正确的事情”,无论MIME类型是application/octet-stream
还是application/vnd.openxmlformats of icedocument.spreadsheetml.sheet
这仅仅是一种良好的做法,还是真的产生了实际的影响?
例如,在Windows系统上,在注册表中查找
xlsx
处理程序并启动它以打开文件
就个人而言,我认为“良好的实践”是一个很好的理由。然而,出于对科学的好奇,我很感兴趣的是它是否会产生实际的影响。这个答案纯粹是推测性的
假设一个中间系统(即,在服务器端实现的一些邮件过滤器)阻止对除“安全”MIME类型之外的所有MIME类型的访问,以保护客户端系统<代码>应用程序/八位字节流可能不应该被认为是安全的,但真正的MIME类型可能是安全的。在这种情况下,行为会有实际的差异