0

EWS 1.2 を使用してメールボックスで添付ファイル付きの電子メールを検索し、EmailMessage オブジェクトを EWS オブジェクトにバインドしています。これは正常に動作していますが、.msg ファイル (Outlook メッセージ ファイル) を検出しません。

ItemView mailview = new ItemView (12);
FindItemsResults<Item> resultmail;

resultmail = Service.FindItems(WellKnownFolderName.Inbox, mailview);
foreach (Item item in resultmail.Items)
{                   
    EmailMessage email = EmailMessage.Bind(Service, item.Id,
        new PropertySet(BasePropertySet.FirstClassProperties, 
                        ItemSchema.Attachments));

    if (email.HasAttachments)
    {
        foreach (var attachment in email.Attachments)
        {
            if (attachment is FileAttachment)
            {
                Console.WriteLine("email has : " + email.Attachments.Count
                                + "attachement(s)" + "\n");
                Console.WriteLine("attachment name:" + attachment.Name);
            }
        }
    }
}
4

1 に答える 1

1

メールが添付ファイルではなくメールに添付されている場合、それはアイテム添付ファイルです。したがって、次のようにコードを拡張する必要があります。

...
if (attachment is FileAttachment) 
{ 
    Console.WriteLine("email has : " + email.Attachments.Count + "attachement(s)" + "\n"); 
    Console.WriteLine("attachment name:" + attachment.Name); 
}
else if (attachment is ItemAttachment)
{
    ItemAttachment itematt = (ItemAttachment) attachment;
    //with itematt.Item you can access the properties of the attachment.
} 
于 2012-07-06T13:42:12.060 に答える