Уведомление по электронной почте от существующего приложения на основе SQL - PullRequest
0 голосов
/ 16 мая 2011

Я пытаюсь найти наилучший вариант использования уведомлений по электронной почте в существующем заказном приложении CRM.

По сути, я хочу отправить электронное письмо затронутому пользователю, когда один из его рабочих элементов нарушил свой KPI (ключевой показатель эффективности).

Лучше ли я делать это с помощью триггера SQL и хранимой процедуры (можно ли их использовать для достижения этой цели?) Или мне следует использовать кодирование c # и запланированное задание? Или я пропустил более простой маршрут?

Ответы [ 4 ]

0 голосов
/ 25 мая 2011

Если вы спрашиваете, как лучше отправить электронное письмо в SQL Server 2005, я думаю, что [msdb.dbo.sp_send_dbmail] ваш друг. Вы можете выполнить быстрый поиск в Интернете, чтобы узнать подробности, но вы должны правильно настроить базу данных почты перед ее использованием. Я использовал его с tsqlunit для выполнения ночной работы, чтобы определить, соответствуют ли некоторые бизнес-правила.

Если вместо этого вы ищете хороший способ перехвата событий, чтобы можно было отправлять уведомления по электронной почте, все зависит от ваших настроек и от того, как часто вы хотите, чтобы эта проверка происходила. Это может быть что-то, что вы присоединяете к уже существующей хранимой процедуре, или вы можете использовать триггер (если ваша установка может с этим справиться). Иногда лучше начать с малого и перейти на что-то лучшее после усвоения уроков.

Надеюсь, это поможет!

0 голосов
/ 16 мая 2011

Вы можете использовать что-то вроде Quartz.Net, который является механизмом планирования.Это позволяет запускать задачи через определенные промежутки времени / в определенное время, а также повторять попытку в случае сбоя задачи или каким-либо образом предупредить вас.

Quartz.Net доступен через NuGet (или Добавить библиотеку)Пакет) и имеет много хорошей документации на их сайте

0 голосов
/ 16 мая 2011

Я бы лично использовал задание агента SQL для составления электронных писем, а затем отправлял их.Таким образом, вы можете указать определенные учетные данные для запуска задания (например, доступ к почтовому серверу) и запускать его так часто, как вам нравится.

В настоящее время я использую простой хранимой процедурой CLRкоторый использует функциональность SMTP в .Net, и принимает несколько параметров, составляющих сообщение электронной почты.

0 голосов
/ 16 мая 2011

Я сделал это перед использованием службы Windows, которая каждую минуту опрашивает базу данных, а затем создает и отправляет электронные письма.

Полагаю, триггер - это еще один возможный подход, но что, если отправка электронной почты не удалась? В любом случае, вы, возможно, захотите какой-то вариант отступления, например, по расписанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...