我正在尝试从包含电子邮件作为附件的电子邮件中获取所有附件。我需要以某种方式通过附件递归来查找所有fileAttachments。
例如,我有一封包含2个附件的电子邮件。第一个附件是一个文件。第二个是另一封邮件。这第二封电子邮件也有2个附件。第一个附件是一个文件。第二是第三封邮件。第三封电子邮件只有一个附件,即文件。所以我需要结束3个文件附件,但无法弄清楚如何循环这个。
道格
答案 0 :(得分:2)
这是一个递归解决方案:
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