次の方法で共有


受信メッセージの処理

適用対象: Outlook 2013 | Outlook 2016

受信メッセージは、1 つ以上のメッセージング システム間で送信されたメッセージです。 ユーザーまたは他の多くの受信者にのみ送信されている可能性があります。 受信メッセージは、特定のクラスのメッセージを保持するために指定された受信フォルダーに配置されます。 処理するメッセージ クラスごとに異なる受信フォルダーを設定するか、すべてのクラスに 1 つのフォルダーを使用できます。

メッセージ ストアに新しいメール通知を登録した場合は、受信フォルダーにメッセージが配置されるたびに通知されます。 新しいメール通知に登録していない場合は、適切な受信フォルダーを定期的に開いて、新しいメッセージの到着を手動でチェックする必要があります。

クライアントは、次のようにパラメーターを IMsgStore::Advise に設定して、新しいメール通知を登録します。

  • cbEntryID を 0 に設定します。

  • lpEntryID を NULL に設定します。

  • ulEventMask を fnevNewMail に設定します。

IMAPIAdviseSink::OnNotify メソッドの呼び出しの lpNotifications パラメーターは、受信メッセージに関する情報 (メッセージ クラス、エントリ識別子、親フォルダーのエントリ識別子、PR_MESSAGE_FLAGS プロパティの内容など) を含むNEWMAIL_NOTIFICATION構造体を指します。 通知の登録と処理の詳細については、「 IMAPIAdviseSink::OnNotifyNEWMAIL_NOTIFICATIONPR_MESSAGE_FLAGS (PidTagMessageFlags)、 および通知の処理」を参照してください。

受信メッセージをユーザーに表示する前に、そのメッセージ クラスがクライアントでサポートされるクラスであるかどうかを判断します。 そうでない場合は、メッセージを無視します。 クラスがサポートするクラスの場合は、メッセージのメッセージ クラスに適したフォームでメッセージを開いて表示できます。 フォームの選択は、メッセージ クラスに基づいています。 IPM クラスに属するメッセージは、MAPI によって実装された既定のフォームを使用します。 クライアントによって定義されたカスタム クラスに属するメッセージは、クライアント定義の特殊化されたフォームまたは MAPI の既定のフォームを使用できます。

受信メッセージを開いて表示する

  1. IMsgStore::GetReceiveFolder を呼び出して、メッセージのメッセージ クラスの受信フォルダーのエントリ識別子を取得し、このエントリ識別子を IMsgStore::OpenEntry に渡してフォルダーを開きます。 詳細については、「 IMsgStore::GetReceiveFolder」、「 IMsgStore::OpenEntry」、および 「メッセージ ストア フォルダーを開く」を参照してください

  2. 受信フォルダーの IMAPIContainer::GetContentsTable メソッドを呼び出して、そのコンテンツ テーブルを取得します。 詳細については、「 IMAPIContainer::GetContentsTable」を参照してください。 テーブルの IMAPITable::QueryRows メソッドを呼び出して、テーブル内のすべての行を取得します。 詳細については、「 IMAPITable::QueryRows and Contents Tables」を参照してください。 コンテンツ テーブルの表示の詳細については、「フォルダー コンテンツ テーブル の表示」を参照してください。

  3. クライアントが対話型の場合は、ユーザーがテーブルからメッセージを選択し、そのメッセージを表示するために使用するフォームを決定できるようにします。 クライアントは、MAPI またはカスタム フォームによって提供される既定のフォームを使用できます。 詳細については、「 MAPI フォームの処理」を参照してください。

  4. IMsgStore::OpenEntry を呼び出してメッセージを開きます。 詳細については、「 メッセージを開く」を参照してください。

  5. メッセージ テキストを処理します。 詳細については、「 メッセージ テキストを開く」を参照してください。

  6. 各メッセージ添付ファイルをレンダリングします。 詳細については、「 プレーン テキストでの添付ファイルのレンダリング 」または 「RTF テキストでの添付ファイルのレンダリング」を参照してください。

  7. 必要に応じて添付ファイルを開きます。 詳細については、「 添付ファイルを開く」を参照してください。

このセクションの内容