“摘要”类型的警报订阅的自定义电子邮件通知

时间:2011-03-08 00:23:03

标签: sharepoint-2007 notifications sharepoint-alerts

我正在处理WSS 3.0解决方案的自定义电子邮件通知。我正在使用从IAlertNotifyHandler继承的自定义类来生成电子邮件。有一个很好的示例here,显示了如何为立即警报执行此操作。以下是与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中的所有项目。这有两个问题。

首先,它为我提供了发送通知的所有事件,而不仅仅是针对我的事件。其次,eventData [0] .itemId不再指向列表上的有效ID。它是6-7位数字而不是3位数字。

有没有人知道获取摘要电子邮件的提醒信息的正确方法? 如果您对此有任何其他疑问,请与我们联系。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

对于我的项目,我创建了一个自定义计时器作业(使用Andrew Connell的post)来模仿警报功能。它会在一夜之间运行并查询订阅我的列表的所有用户的每日提醒。然后,它将所有新任务打包成自定义电子邮件消息。

我保留了自定义提醒,以阻止来自系统的每日通知。我只返回'True',因此不会为仅分配给1个人的任务发送警报。我想回顾一下,我可以在自定义警报中运行查询代码,而不需要单独的计时器作业。