2017-06-15 108 views
2

我试图从电子邮件中获取附件作为附件。我需要通过附件递归找到所有的fileAttachments。如何使用EWS API从嵌套电子邮件中获取文件附件

例如,我有一封电子邮件,其中有2个附件。第一个附件是一个文件。其次是另一封邮件。这第二封电子邮件也有2个附件。第一个附件是一个文件。二是第三封电子邮件。这第三封电子邮件只有一个附件是一个文件。所以我需要结束3个文件附件,但无法弄清楚如何通过这个循环。

道格

回答

1

这里是一个递归解决方案:

Private Function GetFileAttachments(aItem As Item) As IEnumerable(Of FileAttachment) 

    Dim result = New List(Of FileAttachment) 

    For Each att In aItem.Attachments 

     If TypeOf att Is ItemAttachment Then 

      Dim itemAttachment = CType(att, ItemAttachment) 
      itemAttachment.Load() 
      result.AddRange(GetFileAttachments(itemAttachment.Item)) 

     Else 

      result.Add(att) 

     End If 

    Next 

    Return result 

End Function 
相关问题