.Net MimeKit中Multipart与MimePart使用问题咨询
MimeKit 技术问题解答
1. Multipart构造函数的数组参数类型
代码Multipart objMP = new Multipart("related", {"What kind of array goes here?"});中,需要传入**MimeEntity类型的数组**,数组元素是要添加到当前Multipart中的子MIME实体。
示例代码:
// 创建两个子实体 var textPart = new TextPart("plain") { Text = "这是文本内容" }; var imagePart = new MimePart("image", "jpeg") { Content = new MimeContent(File.OpenRead("photo.jpg")) }; // 传入MimeEntity数组初始化Multipart var objMP = new Multipart("related", new MimeEntity[] { textPart, imagePart }); // 也可以省略数组声明,直接传实体(C#会自动推断类型) var objMP = new Multipart("related", textPart, imagePart);
2. 能否通过字符串写入MimePart
可以直接用字符串写入,不需要依赖流:
- 如果是文本类型的内容,推荐使用
TextPart(MimePart的子类),直接设置Text属性即可,它会自动处理编码等细节:
var htmlPart = new TextPart("html") { Text = "<p>这是一段HTML格式的内容</p>" }; var plainTextPart = new TextPart("plain") { Text = "这是纯文本内容" };
- 如果是普通MimePart,也可以将字符串转成字节数组,通过
MemoryStream传入MimeContent:
var mimePart = new MimePart("text", "plain"); mimePart.Content = new MimeContent(new MemoryStream(Encoding.UTF8.GetBytes("自定义文本内容"))); mimePart.ContentType.Charset = "utf-8"; // 指定编码
内容的提问来源于stack exchange,提问作者LNC_GoldenAxe
相关产品推荐
相关产品推荐

