WSS 3.0 ソリューションのカスタム電子メール通知に取り組んでいます。IAlertNotifyHandler から継承するカスタム クラスを使用して電子メールを生成しています。これが即時アラートに対してどのように行われるかを示す素晴らしい例がここにあります。アラートとアラートをトリガーしたアイテムに関する情報を取得するために使用される SPAlertHandlerParams に関連するコードの一部を次に示します。
SPAlertHandlerParams ahp;
int id = ahp.eventData[0].itemId; //gets the itemId of the item triggering the notification.
SPListItem myItem = list.GetItembyId(id);
即時アラートの場合、必要なアイテムは常に eventData オブジェクトの [0] の位置にあるため、これはうまく機能します。ダイジェスト イベントの場合、ahp.eventData 内のすべての項目をループするだけでよいと考えました。これには2つの問題があります。
まず、通知を送信しているすべてのイベントが表示されます。次に、eventData[0].itemId がリストの有効な ID を指していません。3桁の数字ではなく、6~7桁の数字です。
ダイジェスト メールのアラート情報にアクセスする正しい方法を知っている人はいますか? この件について他にご不明な点がございましたら、お気軽にお問い合わせください。
ご協力いただきありがとうございます!