我正在构建一个简单的 .net MailKit IMAP 客户端。不必一次又一次地从 IMAP 服务器拉取电子邮件,是否可以将 MailKit mime 消息(包括附件在内)作为字节数组存储?如果可以,如何实现?
然后,我可以将其写入 MySql 或文件中,并将其用于测试代码更改。
然后,我可以将其写入 MySql 或文件中,并将其用于测试代码更改。
正如Lucas所指出的那样,您可以使用MimeMessage.WriteTo()方法将消息写入文件名或流(例如MemoryStream
)。
如果您想将消息作为字节数组保存到SQL数据库中,可以这样做:
using (var memory = new MemoryStream ()) {
message.WriteTo (memory);
var blob = memory.ToArray ();
// now save the blob to the database
}
要从数据库中读取它,您首先需要将blob读取为byte [],然后执行以下操作:
using (var memory = new MemoryStream (blob, false)) {
message = MimeMessage.Load (memory);
}
MimeMessage.WriteTo
和MimeMessage.Load
。 - Lucas Trzesniewski