Поиск

Личный кабинет

Используются два вида доставки сообщений:

1. Mail WEB Service - на базе IIS

Шаблон должен иметь следующий вид

ПРИМЕР test.xml 
<?xml version="1.0" encoding="windows-1251"?>
<Mail>
<View>COR</View>
<Send>
<Subject type="text">Рассылка тестовая</Subject>
<From type="text">Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.<;/From>
<To type="text">Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.<;/To>
<Body type="text">test.html</Body>
<Attachment type="text">e:\report1.pdf</Attachment>
<Attachment type="text">e:\report2.pdf</Attachment>
<BodyParameters>
<Parameter name="COR" type="field">COR</Parameter>
<Parameter name="Name" type="field">Name</Parameter>
</BodyParameters>
</Send>
</Mail>

где 
атрибут type может принимать два значения text и field
text - значение берется то что прописано в теге
field - значение берется из поля во вьюве
Теги 
View - имя вьюва
Send - описывает сообщение
Subject - заголовок сообщения
From - от кого будет послано сообщение (не обязательный тег)
To - кому будет послано сообщение (можно несколько адресов через точку с запятой)
Attachment - имя файла прикрепляемого к отчету
Body - имя файла сообщения относительно пути в WEB.config PathTemplateMail
Parameter - параметры в файле сообщения, которые будут заменены. Параметры в теле сообщения пишутся в фигурных скобках. Пример файла test.html

Вызов в интеграторе
через скриптовую функцию
SendMailMassage NameTemplateMail, Parameters, Values
где 
NameTemplateMail - имя шаблона
Parameters - параметры через точку с запятой
Values - значения параметров через точку с запятой
ПРИМЕР
Function TestMail() 
SendMailMassage "test.xml", "COR;COR1", "11;22"
End Function

2. DataBase Mail - SQL-server-а

Компонент Database Mail — это служба для отправки сообщений электронной почты от компонента SQL Server Database Engine. Используя компонент Database Mail, приложения базы данных могут отправлять почтовые сообщения пользователям. 

По умолчанию, компонент Database Mail - НЕ АКТИВЕН !!! 
Чтобы использовать компонент Database Mail, необходимо явно его включить. 
Для управления Database Mail можно использовать SQL Server Management Studio.
В Обозревателе объектов(Object Explorer) следует раскрыть уровень Сервера, к которому установлено соединение, и раскрыть папку Управление(Management)(на одном уровне с Базами данных(Databases)).
Выбрать Компонент Database Mail(если он установлен) и в выпадающем меню, по правому щелчку мыши, выбрать Настройку компоненты(если установлены соответствующие права).
Если компонент на запущен, система запросит подтверждение на Запуск службы.
Далее следует установить Database Mail(если не установлен).
После этого следует добавить Профиля(Profile) (напр. MailProfile) и Учётные записи(Account) (напр. MailAccount), для правильной работы Компоненты.
Не забудьте добавить в Профиль созданную Учётную запись.
Обязательно следует Отправить тестовое сообщение(Test message), для проверки функционирования системы Отправления и Доставки Почты.
По умолчанию, в процедурах Системы БС используется профиль в именем MailProfile.
Если профиль имеет другое именем, то следует поправить все объекты Базы данных, которые используют это имя(напр. dbo.fc_rqm_notify).
Так же, можно создать профиль используя процедуру Базы данных:

EXEC
msdb.dbo.sysmail_add_account_sp   @account_name =  'MailSender' ,
     @email_address =  Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.' ,
      @display_name =  'MailSender' , 
      @replyto_address =  Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.' , 
      @description =  'MailSender' , 
      @mailserver_name =  'mailserver',
      @mailserver_type =  'SMTP',
      @port =  25

После этого можно вставлять в SQL-процедуры рассылку сообщений:

    EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'MailProfile',
    @recipients = @mail,
    @body = @mailbody,
    @subject = @name,
    @body_format ='HTML';

Документация