使用MimeKit签名电子邮件时,ContentType设置为 application / pkcs7-signature 。
我们的第三方提供商要求将ContentType设置为 application / x-pkcs7-signature 。
使用带有MimeKit的分离签名对电子邮件进行签名时,是否有一种简单的方法可以更改/设置此ContentType?
答案 0 :(得分:1)
虽然ContentType对象是readonly,但MediaSubtype属性不是。
因此,使用以下内容,我可以添加我们需要的 x - 前缀。
var part = SourceEmail.BodyParts.First(x => x.ContentType.MediaSubtype == "pkcs7-signature");
part.ContentType.MediaSubtype = "x-pkcs7-signature";
我还更新了邮件的整体内容类型。
var header = SourceEmail.Body.ContentType.Parameters.FirstOrDefault(x => x.Name == "protocol" && x.Value == "application/pkcs7-signature");
header.Value = "application/x-pkcs7-signature";
忽略错误检查。