Ответ 1
Расширение ответа Энди (http://www.andrewconnell.com/blog/articles/CreatingCustomSharePointTimerJobs.aspx), если вы просто поместите код для отправки электронной почты в методе Execute задания таймера не дает вам ничего больше, чем cron.
Что вы можете сделать, так это написать код для итерации через Календарь (фактически список событий), который вскоре найдет какие-либо события и отправит электронное письмо кому бы то ни было в поле Assigned To. Затем это можно вызвать из метода выполнения заданий таймера или с помощью обычной запланированной задачи. Это будет легче администрировать изменения, чем cron, и может использоваться для других задач.
Ссылка, чтобы начать работу - Итерация через элементы в списке
Другой вариант - использовать Workflow для отправки сообщений из календаря
EDIT. Поскольку SharePoint SP2 больше не работает, так как рабочие процессы больше не могут запускаться (цикл) - объяснение и обходное решение
В этой статье CodeProject показано, как создать функцию для отправки запланированных напоминаний
Еще один вариант - использовать один из сторонних инструментов, которые это делают (отказ от ответственности - я работаю для первой компании)
- Pentalogic - Напоминание SharePoint
- Bamboo - Alert Plus
- BoostSolutions - Напоминание о предупреждении о предупреждении
Наконец - какой бы метод вы ни выбрали (пользовательский код/рабочий процесс/сторонний участник), вы, вероятно, столкнетесь с проблемами с повторяющимися событиями, поскольку SharePoint не предоставляет способ получить "расширенный" список всех вхождений.