Я бы порекомендовал проверить мой вопрос здесь: Как создать ежедневное сводное оповещение о любых изменениях на сайте SharePoint .
Я последовал совету Марка по использованию фреймворка SPAudit с парой настроек. В итоге я добавил несколько собственных записей SPAudit в получатель событий, прикрепленный к списку. Затем каждую ночь запускается консольное приложение и читает все записи аудита за этот день, чтобы отправить оповещения.
Похоже, вы можете захотеть оповещения только для одного списка, поэтому вам придется больше фильтровать. Также имейте в виду, что если вы хотите знать больше, чем базовую информацию (например: какие поля изменились), вам нужно взглянуть на создание собственных пользовательских записей SPAudit.
* ** Edit 1010 *
Для пользовательской записи аудита я сначала создал bean-компонент, который можно сериализовать. Затем вы можете просто сериализовать бин, содержащий всю вашу информацию из получателя событий, в запись SPAudit:
public static void AddEvent(MyCustomBeanClass e, SPSite site)
{
StringWriter sw = new StringWriter();
XmlSerializer xs = new XmlSerializer(typeof(MyCustomBeanClass));
xs.Serialize(sw, e);
site.Audit.WriteAuditEvent(SPAuditEventType.Custom, "MyCustomAuditing", sw.ToString());
}
Кроме того, я думаю, мой пост поможет вам визуализировать (1) как выглядят записи из коробки и (2) некоторую дополнительную обработку, которую вам нужно будет выполнить (например: определение, был ли создан элемент).