使用Exchange Web服务下载.eml附件

时间:2014-04-15 16:33:16

标签: exchange-server exchangewebservices exchange-server-2010

我有一个我构建的实用程序,用于检查交换电子邮箱并将附件下载到指定位置。但是,我遇到了一个错误消息,其中附有另一封电子邮件(在* .msg中)。每当这些弹出附件属性不可用时,我无法访问它们以下载它们。:

.msg attachment

与拉链或类似的东西相比:

zip attachment

有没有发现这是一个.msg附件?或许,“施放”它。我知道我可以将它包装在try catch中,但是我不希望将附件转换为.msg,这可能是导致此问题的另一种文件类型。

任何帮助都将不胜感激。

扎克

1 个答案:

答案 0 :(得分:1)

只是清理我的SO,但这是我解决这个问题的方法。 eml附件实际上是“ItemAttachment”而不是“FileAttachment”而不是通用的“附件”。所以循环看起来像这样:

  foreach (Attachment att in itm.Attachments)
  {
       if (att is FileAttachment)
       {
           var fileAttachment = att as FileAttachment;
           //do some stuff
       }
       else
       {
           var itemAttachment = att as ItemAttachment;
           //do some more stuff (these are most likely eml/msg attachments...
       }
  }