C# 在内存中而不是在文件系统中将MailItem转换为MSG
目前,我正在base64编码一个mailItem,方法是使用以下命令将mailItem写入MSG文件:C# 在内存中而不是在文件系统中将MailItem转换为MSG,c#,.net,outlook,ms-office,msg,C#,.net,Outlook,Ms Office,Msg,目前,我正在base64编码一个mailItem,方法是使用以下命令将mailItem写入MSG文件: mailItem.SaveAs(@"c:\path\to\save\mail.msg", Outlook.OlSaveAsType.olMSG); FileStream fs = new FileStream( fullPath, FileMode.Open, FileAccess.Read ); byte[] filebytes = new byte[fs.Length]; fs.R
mailItem.SaveAs(@"c:\path\to\save\mail.msg", Outlook.OlSaveAsType.olMSG);
FileStream fs = new FileStream( fullPath, FileMode.Open, FileAccess.Read );
byte[] filebytes = new byte[fs.Length];
fs.Read( filebytes, 0, Convert.ToInt32( fs.Length ) );
string encodedData = Convert.ToBase64String( filebytes,
Base64FormattingOptions.InsertLineBreaks );
我已经找了很长时间,没有找到一种方法来做到这一点,而不写味精到硬盘驱动器
有没有一种方法可以在不需要写入硬盘的情况下执行此操作
谢谢 Per(强调):
Outlook.MailItem对象实际上是一个COM对象,无法动态保存/加载。要实现所需的保存/加载功能,首先需要将Outlook.MailItem对象转换为.MSG文件
这是我也想做的事情,但由于上述限制,我无法做到。我当前正在将文件写入临时位置,传递路径,转换为Base64字符串,并在成功后删除文件。Per(强调his):
Outlook.MailItem对象实际上是一个COM对象,无法动态保存/加载。要实现所需的保存/加载功能,首先需要将Outlook.MailItem对象转换为.MSG文件
这是我也想做的事情,但由于上述限制,我无法做到。我当前正在将文件写入临时位置,传递路径,转换为Base64字符串,并在成功后删除文件。否,不使用OOM。这在扩展MAPI(C++或Delphi)中是可能的。否,不使用OOM。这在扩展MAPI(C++或Delphi)中是可能的