У нас есть текущая система, в которой электронные письма запускаются из разных приложений, в основном из базы данных (хранимые процедуры), и будут вставлены записи в общую таблицу. Система службы электронной почты будет считывать данные из этой таблицы и отправлять электронные письма пользователям.
Мы планируем интегрировать новую систему, в которой электронные письма можно будет отправлять с помощью веб-сервиса. Нам нужно отправить данные в этот веб-сервис, и сервис позаботится об отправке электронных писем.
Нам нужно решение для вызова этой веб-службы электронной почты (WCF) из базы данных, и ниже приведены две мысли, которые у нас есть.
Любая помощь в этом весьма ценна.
О, и как вы думали об использовании SSB? С внешним активатором что ли? Я хочу сказать, что если вы не думаете об использовании внешнего активатора, вам все равно понадобится SQLCLR.
Почему вы отказываетесь от текущей службы электронной почты? Чем новый веб-сервис лучше? Какова частота отправки писем / сколько в секунду или минуту? Почему вы используете службу электронной почты вместо DBMail (как предложил Нильс в первом комментарии), поскольку DBMail находится в очереди/асинхронно? Хотя Service Broker с внешней активацией, вероятно, является выходом, это также напрасная трата усилий, поскольку именно так работает DBMail, поэтому зачем дублировать, если у вас нет конкретной потребности, которую DBMail не может обеспечить. Кроме того, какую версию SQL Server вы используете?
@NielsBerglund, мы используем DBmail в некоторых местах, например, если возникает какой-либо сбой в заданиях или некоторых критических хранимых процедурах, мы отправим письмо соответствующей команде. Но частота для других писем немного высока, например, в день будет запускаться 2-5 тысяч писем.
@NielsBerglund, для SSB мы планируем использовать внешний активатор, который вызывает сервис.
Текущая система электронной почты @SolomonRutzky является устаревшей системой, и новая система имеет функцию отправки текстовых сообщений и электронных писем, поэтому планируется использовать ее для обоих. Частота составляет от 2 до 5 тысяч писем в день в зависимости от активности пользователей (более 200 тысяч пользователей). Текущая версия — Sql Server 2017 Enterprise. У клиентов есть разные сервисы, и им нужна общая система, через которую должен обрабатываться сервис электронной почты. Поэтому переходим на новую систему.
@Keppy, если вы не можете использовать существующую DBMail, я бы предложил SSB с вечным активатором. Другим предложением было бы использовать уведомления о запросах в таблице электронной почты и иметь внешнюю службу для чтения таблицы и обработки (на самом деле это более или менее то, что будет делать SSB с EA).
@NielsBerglund, круто. Спасибо за вашу помощь.





Вместо того, чтобы использовать SQLCLR или SSB, вы не можете использовать DB Mail?