2 回答
TA贡献1862条经验 获得超6个赞
正如您在自己的答案中发现的那样,如果您不设置ContentTransferEncoding
属性,则可以使用 Headers.Replace() 甚至 Headers.Add() 覆盖 Content-Transfer-Encoding 标头。
我想您的另一个主要问题是如何获得自定义编码内容?
而不是这样做:
Content = new MimeContent(File.OpenRead(file), ContentEncoding.Default),
您需要做的就是将预编码的流传MimeContent
递到 .ctor 中(并继续ContentEncoding.Default
用作第二个参数)。
如果需要type
在 Content-Type 标头中设置参数,可以这样做:
attachment.ContentType.Parameters.Add("type", "value");
或者
var parameter = new Parameter ("name", "value");attachment.ContentType.Parameters.Add (parameter);
或者
attachment.ContentType.Parameters["type"] = "value";
剩下的唯一问题是如何强制引用参数值。为此,你不走运。MimeKit 仅在由于值中的字符而需要引用该值时才会引用该值。
TA贡献1790条经验 获得超9个赞
我发现我的答案之一是替换标题:
var attachment = new MimePart("application", "octet-stream")
{
Content = new MimeContent(File.OpenRead(file), ContentEncoding.Default),
ContentDisposition = new ContentDisposition(ContentDisposition.Attachment),
ContentTransferEncoding = ContentEncoding.Base64,
FileName = Path.GetFileName(file),
};
attachment.Headers.Replace("Content-Transfer-Encoding", "******");
- 2 回答
- 0 关注
- 148 浏览
添加回答
举报