2012-08-28 56 views
0

我想将Microsoft.Office.Interop.Outlook.MailItem转换为Stream。我怎样才能做到这一点?下面的代码显示了我如何构建Outlook MailItem。如何将Outlook MailItem转换为流

Microsoft.Office.Interop.Outlook.Application outlookApp = 
    new Microsoft.Office.Interop.Outlook.Application(); 

Microsoft.Office.Interop.Outlook.MailItem mailItem = 
    (Microsoft.Office.Interop.Outlook.MailItem)outlookApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 

Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = 
    outlookApp.GetNamespace("MAPI"); 

mailItem.Subject = ..... 
mailItem.To = .... 

像这样,我将数据分配给Outlook MailItem。如何将此MailItem转换为流?

+0

你是什么意思“将邮件转换为流”? –

+0

我的意思是如何将mailitem转换为字节? – user1463065

+0

哪部分? MailItem由许多字段组成。你打算如何处理这个流? – BrainPicker

回答

0

创建一个System.Net.Mail.MailMessage对象,从Outlook.MailItem复制属性并保存。

var msg = new System.Net.Mail.MailMessage(); 
msg.From = new System.Net.Mail.MailAddress("[email protected]"); 
msg.To.Add("[email protected]"); 
msg.Subject = "test test"; 

var client = new System.Net.Mail.SmtpClient(); 
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.SpecifiedPickupDirectory; 
client.PickupDirectoryLocation = @"c:\temp"; 
client.Send(msg);