是否可以将MailItem
直接作为流返回?( MailItem
从Microsoft.Office.Interop.Outlook
)
现在我找到了一个临时解决方案,首先将MailItem
保存到目录中,打开它并将流返回到文件,然后再次删除文件。
这个临时解决方案在处理大量电子邮件时很慢,我想用例如直接MemoryStream
返回MailItem
来替换它。
如何做到这一点?
(由于评论而编辑:慢是一部分,但另一个代码部分(无法修改)只接受流,这就是我正在寻找将邮件项目作为流打开的解决方案的方式)
你的慢问题。我在写我的时遇到了一些可能会产生巨大影响的东西。
当我将 Outlook 置于非缓存模式时,检索并打开每封电子邮件,然后将其移动到已处理的文件夹中至少可以说是很困难的。当我将其置于缓存模式时,我当然必须编写代码以确保它已费心同步所有内容,以便在开始之前获得最新信息。
当它缓存时,您可以同时打开许多邮件项目,并行进程,在非缓存模式下,它会在大约 32 点停止您! 它的开放(和我们的)想法不同。
所以,我也尝试了一个 imap 类,嘘,让我们永远不要再谈论它,这是一个多么错误的。
如果你有一些代码,也许我们可以提供帮助?如果您没有缓存模式,我可能会挖掘出我如何强迫它同步所有代码,它并不像我想象的那么好和简单(我可能错过了一些),但它工作非常可靠,现在处理我收到的所有备份电子邮件。