【发布时间】:2020-11-06 23:30:35
【问题描述】:
我正在尝试从 MimeMessage 获取附件。
我做到了:
using (Stream ms = Utils.GenerateStreamFromString(mail.Rfc822Content))
{
MimeMessage mimeMessage = MimeMessage.Load(ms);
// collect our list of attachments
foreach (MimeEntity attachment in mimeMessage.Attachments)
{
if (!fileexists)
{
using (FileStream file = new FileStream(System.IO.Path.Combine(System.IO.Path.Combine(docMap), bijlageNaam), FileMode.Create, FileAccess.Write))
{
ms.Position = 0;
ms.CopyTo(file);
file.Flush();
}
}
}
}
但问题是,现在它显然会写入 fullContent,因为我使用的是 ms 到 .CopyTo(file),这不是我想要的。
我正在尝试获取电子邮件的附件并将其写入文件。
【问题讨论】:
-
什么是
fileexists?从mimeMessage中获取文件名,写入后关闭。 -
fileexists只是一个boolean,使用文件名检查它是否不存在。因为我只想写新文件。我删掉了一些代码,让它专注于mime,而不是像fileexists这样的其他东西 -
mimekit.net/docs/html/M_MimeKit_MimeEntity_WriteTo_5.htm(即
attachment.WriteTo(file))。或mimekit.net/docs/html/M_MimeKit_MimeEntity_WriteTo_7.htm 根本不需要file。
标签: c# file filestream mime mime-message