---
title: Отправка по шаблону на произвольный адрес ЭП
slug: общие-шаблоны-сообщений/отправка-по-шаблону-на-произвольный-адрес-эп
---

Реальных получателей передаем в функцию формирования и отправки сообщения через доп. параметры в том виде, в каком нам это удобно делать. 
**ВАЖНО!** Этот код будет выполняться для любых шаблонов, поэтому нужно осознанно подходить к этому методу
Пример:
```bsl
Для Каждого Строка Из Объект.СписокКонтрагентов Цикл
		
		Если ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(Строка.АдресЭП) Тогда
			
			ДополнительныеПараметры = Новый Структура;
			ДополнительныеПараметры.Вставить("АдресЭП", Строка.АдресЭП);
			
			Результат = ШаблоныСообщений.СформироватьСообщениеИОтправить(Объект.ШаблонСообщения,
				Строка.Контрагент,
				УникальныйИдентификатор,
				ДополнительныеПараметры);
			
		Иначе
			ТекстСообщения = СтрШаблон("Адрес ЭП контрагента %1 не соответствует требованиям", Строка.Контрагент);
			ОбщегоНазначения.СообщитьПользователю(ТекстСообщения); 
		КонецЕсли;
		
	КонецЦикла;
```

И эти данные мы можем поймать в процедуре `ШаблоныСообщенийПереопределяемый.ПриЗаполненииПочтыПолучателейВСообщении()` в структуре `ПредметСообщения.ПараметрыСообщения`:

```bsl
// Заполняет список получателей почты при отправке сообщения сформированного по шаблону.
//
// Параметры:
//   ПолучателиПисьма - ТаблицаЗначений - список получается письма:
//     * ВариантОтправки - Строка - вариант отправки для получателя письма: Кому, Копия, СкрытаяКопия, ОбратныйАдрес;
//     * Адрес           - Строка - адрес электронной почты получателя;
//     * Представление   - Строка - представление получателя письма;
//     * Контакт         - Произвольный - контакт, которому принадлежит адрес электронной почты.
//  НазначениеШаблона - Строка - идентификатор назначения шаблона.
//  ПредметСообщения - ЛюбаяСсылка - ссылка на объект, являющийся источником данных.
//                   - Структура  - структура описывающая параметры шаблона:
//    * Предмет               - ЛюбаяСсылка - ссылка на объект, являющийся источником данных;
//    * ВидСообщения - Строка - вид формируемого сообщения: "ЭлектроннаяПочта" или "СообщениеSMS";
//    * ПроизвольныеПараметры - Соответствие - заполненный список произвольных параметров;
//    * ОтправитьСразу - Булево - признак мгновенной отправки письма;
//    * ПараметрыСообщения - Структура - дополнительные параметры сообщения;
//    * ПреобразовыватьHTMLДляФорматированногоДокумента - Булево - признак преобразование HTML текста
//             сообщения содержащего картинки в тексте письма из-за особенностей вывода изображений
//             в форматированном документе;
//    * УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - учетная запись для отправки письма.
//
Процедура ПриЗаполненииПочтыПолучателейВСообщении(ПолучателиПисьма, НазначениеШаблона, ПредметСообщения) Экспорт
	
	АдресЭП = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ПредметСообщения.ПараметрыСообщения, "АдресЭП", "");
	
	Если Не ЗначениеЗаполнено(АдресЭП) Тогда
		ВызватьИсключение "Не заполнен адрес ЭП";
	КонецЕсли;
	
	СтрокаПолучателей = ПолучателиПисьма.Добавить();
	СтрокаПолучателей.ВариантОтправки = "Кому";
	СтрокаПолучателей.Адрес = АдресЭП;
	
КонецПроцедуры
```
