2

受信メールの内容 (メール本文) を読み取る必要があるアプリケーションを開発しています。このために、新しいメールが来るたびに、以下のコードを使用してイベントをトリガーしています-

outLookApp.NewMailEx += new ApplicationEvents_11_NewMailExEventHandler(MailExtractor.outLookApp_NewMailEx);

しかしNewMailEx、いくつかのメールでイベントが発生しません。同時に 2、3 件のメールが来ると発火しないようです。理論的には、MS Outlook の受信トレイに届く各メールに対して起動するはずです。
MS Outlook 2010 を使用しています。

NewMailEx来るすべてのメールに対してイベントの トリガーを保証するにはどうすればよいですか?

4

2 に答える 2

1

ドキュメントによると、「このイベント (NewMailEx) は、最後にイベントが発生してから受信トレイで受信したすべてのアイテムのエントリ ID のリストを渡します」。しかし、あなたがそれをテストして、そうでないなら、それが重要です。

ドキュメントで読むことができるように、ItemAdd を使用することは、各メールで起動しない可能性があるため、最良の選択ではありません。また、これはフォルダごとに機能するため、ユーザーがメールを別のフォルダに移動するサーバー ルールを持っている場合は、複数のフォルダを処理する必要があります。

同様の要件に対する私の解決策は、ストアで作成された各アイテムで発生する OnMessageCreatedEx イベントがStoreクラスにあるRedemptionライブラリを使用することでした。

于 2013-05-13T14:22:52.930 に答える
0

この投稿は少し古いですが、同じ問題に遭遇しました。ドキュメントに記載されているように、複数のメッセージが同時に着信している場合NewMailExよりも信頼性が高いようですが、それでもNewMail信頼性は低くなります。Items.ItemsAdd

複数の送受信イベントをより適切に処理する無料のアドイン ( MAPI Store Accessor ) を利用できるようですが、通知までに長い遅延 (最大 30 分) が発生する可能性があります。

やろうとしていることに対してそれが受け入れられない場合は、Outlook NewMail イベント: 解決策のオプションをチェックして、独自のより信頼性の高い解決策を展開する方法についてのすばらしい記事を参照してください。

于 2014-02-23T22:29:19.960 に答える