使用EWS API保存电子邮件附件 [英] Save Email Attachments Using EWS API

查看:134
本文介绍了使用EWS API保存电子邮件附件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以发布一个简单示例,说明如何使用EWS API将电子邮件附件从电子邮件保存到本地或网络驱动器路径吗? 我使用的是Exchange 2010. 最好是在VB.Net中,但我也可以处理C#。 任何帮助将不胜感激!

解决方案

我想我能够回答我自己的问题,但似乎应该有另一个,也许更容易的方式要做到这一点:



 Dim iv As New ItemView(1000)

iv.Traversal = ItemTraversal.Shallow

Dim items As FindItemsResults(Of Item )= tfTargetFolder.FindItems(iv)

Dim i As Integer = 0

For Each it As Item in items.Items

If TypeOf it是EmailMessage那么

Dim mMail作为EmailMessage = DirectCast(它,EmailMessage)

mMail.Load(New PropertySet(BasePropertySet.FirstClassProperties))

对于每个附件作为附件在mMail.Attachments

Dim fa As FileAttachment = DirectCast(attachment,FileAttachment)

如果fa.Name =" Test Excel File.xls"然后

使用ms作为新MemoryStream()

fa.Load(ms)

Dim data As Byte()= ms.ToArray()

Dim fs As New FileStream(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ,FileAccess.Write)

fs.Write(data,0,data.Length)

fs.Close()

结束使用

结束如果

下一个

mMail.Move(fFolder.Id)

结束如果



Can someone please post a simple example of how to save an email attachment from an email to a local or networked drive path using the EWS API?  I am using Exchange 2010.  Preferably in VB.Net, but I can handle C# as well.  Any help would be greatly appreciated!

解决方案

I think I was able to answer my own question, but it seems like there should be another, maybe easier way to do this:

Dim iv As New ItemView(1000)

iv.Traversal = ItemTraversal.Shallow

Dim items As FindItemsResults(Of Item) = tfTargetFolder.FindItems(iv)

Dim i As Integer = 0

For Each it As Item In items.Items

If TypeOf it Is EmailMessage Then

Dim mMail As EmailMessage = DirectCast(it, EmailMessage)

mMail.Load(New PropertySet(BasePropertySet.FirstClassProperties))

For Each attachment As Attachment In mMail.Attachments

Dim fa As FileAttachment = DirectCast(attachment, FileAttachment)

If fa.Name = "Test Excel File.xls" Then

Using ms As New MemoryStream()

fa.Load(ms)

Dim data As Byte() = ms.ToArray()

Dim fs As New FileStream("\\server\drive


\Test\Test Excel File.xls", FileMode.Create, FileAccess.Write) fs.Write(data, 0, data.Length) fs.Close() End Using End If Next mMail.Move(fFolder.Id) End If


这篇关于使用EWS API保存电子邮件附件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆