Я не в курсе каких-либо услуг, которые делают это «там», но лучший способ, если вы разрабатывали было бы создать службы в Windows, который работает по таймеру, скажем, через каждые 10 минут или так.
он будет считывать из назначений базы данных, следующих в течение 15 или 30 минут SQL-запросом. Как только данные будут возвращены, вы создадите таймер, возможно, для каждой из этих записей, которые затем будут отключены в нужное время с помощью события таймера для этой встречи. Как только таймер тикает, вы просто отправляете электронное письмо в threadpool, чтобы избежать блокирования основного потока или его блокировки при отправке партии писем и сделать вашу услугу немного более отзывчивой.
Вы не можете сделать это «автоматизация» в ASP.NET, и служба Windows именно для этой цели, где у вас есть регулярный интервал для выполнения задачи - в этом случае для получения списка назначений/расписаний на период времени, а затем отправить электронное письмо.
После отправки сообщения электронной почты вам необходимо обновить эту запись, чтобы убедиться, что он не был поднят снова в следующем событии таймера, чтобы избежать отправки повторяющихся электронных писем - флаг, обозначающий «SentReminder», установленный в поле вашей записи в базе данных.
вот как это сделать и это лучший способ.