7

使用 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,内容类型名称:

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

LinkedResource,内容处置文件名:

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

4

1 回答 1

0

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

称为 charset 的编码在 Content-Type 中定义,如下所示:

 Content-Type: text/plain; charset=utf-8

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

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

于 2016-01-13T08:18:18.513 回答