3

特定の件名のメールの交換メールボックスを監視する Windows サービスを作成する予定です。このような電子メールの添付ファイルは、ネットワーク共有上の特定のフォルダーに保存する必要があります。これは、Exchange Web サービス マネージ API (Exchange 2007 SP1 を使用) を使用して実現できると思います。

これを経験したことがある場合は、以下の MSDN リンク以外のサンプルまたはリンクを共有してください。

http://msdn.microsoft.com/en-us/library/dd633696%28v=EXCHG.80%29.aspx

4

2 に答える 2

9

これらのメールが X メールボックスの受信トレイに届いているとしましょう。そのフォルダへのサブスクリプションを次のように作成します

PullSubscription subscription = 
SomeExchangeService.SubscribeToPullNotifications(
new FolderId[]{ WellKnownFolderName.Inbox },1440,"",EventType.Created);
Subscriptions.Add(subscription);

ここで、タイマーを設定してプル通知を確認する必要があります

static void Exchanger_Elapsed(object sender, ElapsedEventArgs e)
    {    
        foreach (var pullSubscription in Subscriptions)
        {
            foreach (var itemEvent in pullSubscription.GetEvents().ItemEvents)
            {
                Item item = Item.Bind(SomeExchangeService, itemEvent.ItemId);
                if (item.Subject == someString)
                {
                  //  item.Attachments do something
                  //  As in read it as a stream and write it 
                  //  to a file according to mime type and file extension
                }
            }
        }
   }

これが役立つことを願っています...

更新メールリクエストのため

public static List<PullSubscriptionpublic static List<PullSubscription> Subscriptions = new List<PullSubscription>();> Subscriptions = new List<PullSubscription>();
于 2011-04-28T22:51:22.523 に答える
0

メッセージを選別するための検索フォルダーを作成することを検討してください。検索フォルダー内のメッセージを検索して処理するだけで済みます。

于 2011-05-01T08:15:21.573 に答える