1

使用 MimeKit 签署电子邮件时,ContentType 设置为application/pkcs7-signature

我们的第三方提供商要求将 ContentType 设置为application/x-pkcs7-signature

使用MimeKit的分离签名对电子邮件进行签名时,是否有一种简单的方法来更改/设置此 ContentType ?

4

1 回答 1

1

虽然 ContentType 对象是只读的,但 MediaSubtype 属性不是。

因此,使用以下内容,我可以添加我们需要的x-前缀。

var part = SourceEmail.BodyParts.First(x => x.ContentType.MediaSubtype == "pkcs7-signature");

part.ContentType.MediaSubtype = "x-pkcs7-signature";

我还更新了消息的整体 Content-Type。

var header = SourceEmail.Body.ContentType.Parameters.FirstOrDefault(x => x.Name == "protocol" && x.Value == "application/pkcs7-signature");

header.Value = "application/x-pkcs7-signature";

为了清楚起见,省略了错误检查。

于 2016-02-25T01:22:56.053 回答