如何使用Attachment和LinkedResource指定Content-Type Name和Content-Disposition Filename?

Mik*_*een 7 .net content-type system.net.mail content-disposition

使用System.Net.Mail.Attachment和System.Net.Mail.LinkedResource生成的电子邮件包含MIME部分.问题是如何为这些MIME部分中的标头指定Content-Type Name和Content-Disposition Filename值和编码.

附件,内容类型名称:

据推测,可以使用Attachment.Name属性或ContentType.Name属性指定值.这两个属性是同义的还是更好地使用一个优先于另一个?如果它们是同义词,那么为什么Attachment.Name属性存在?据推测,可以使用Attachment.NameEncoding属性指定编码,但为什么没有相应的ContentType.NameEncoding属性?

附件,内容处理文件名:

该值显然是使用ContentDisposition.Filename属性指定的,但如何指定编码?

LinkedResource,Content-Type Name:

该值只能使用ContentType.Name属性指定,但如何指定编码?此外,如果有一个很好的理由有一个Attachment.Name属性,那么为什么没有相应的LinkedResource.Name属性?

LinkedResource,Content-Disposition文件名:

LinkedResource没有ContentDisposition,那么如何指定值或编码?

Wal*_*rat 0

这可能遵循与 HTTP 相同的约定。

称为字符集的编码在 Content-Type 中定义如下:

 Content-Type: text/plain; charset=utf-8
Run Code Online (Sandbox Code Playgroud)

请注意字符集之前的空格,这是标准的一部分。

然后使用附件的 Content-Disposition 指定文件名。