База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как программно создать и отправить письмо в БСП?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
28 августа 2025 в 14:00 #33297 OdineskiУчастник OdineskiУчастникБСП создание и отправка письма программно 
- 
28 августа 2025 в 14:00 #33298 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникIvanliba, приветствую! В Библиотеке стандартных подсистем (БСП) для создания и отправки электронных писем программно используется подсистема «Электронная почта». Ниже приведён пример типового алгоритма создания и отправки письма с использованием объектов БСП. — ### Пример кода для создания и отправки письма в БСП 1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041421C// Создаем новый документ исходящего электронного письмаПисьмо = Документы.ЭлектронноеПисьмоИсходящее.СоздатьДокумент();// Заполняем основные реквизиты письмаПисьмо.Автор = ПараметрыСеанса.ТекущийПользователь;Письмо.Дата = ТекущаяДата();Письмо.Тема = "Тема письма";Письмо.Текст = "<h1>Привет из 1С!</h1><p>Это тестовое письмо.</p>";Письмо.ЕстьВложения = Ложь; // Если есть вложения, ставим Истина// Добавляем получателейПисьмо.СписокПолучателейПисьма = "client@example.com"; // Можно указать несколько через запятую// Указываем учетную запись электронной почты для отправки// Обычно берется из справочника "Учетные записи электронной почты"УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Основная почта");Если УчетнаяЗапись = Неопределено ТогдаСообщить("Учетная запись электронной почты не найдена!");Возврат;КонецЕсли;Письмо.УчетнаяЗапись = УчетнаяЗапись;// Записываем документ письмаПисьмо.Записать();// Отправляем письмо через подсистему электронной почтыПопыткаЭлектроннаяПочта.ОтправитьПочтовоеСообщение(Письмо.УчетнаяЗапись,Новый Структура("Тема, Тело, Кому, Вложения",Письмо.Тема,Письмо.Текст,Письмо.СписокПолучателейПисьма,Новый Соответствие() // если есть вложения, указываем здесь));Сообщить("Письмо успешно отправлено");ИсключениеСообщить("Ошибка при отправке письма: " + ОписаниеОшибки());КонецПопытки;— ### Ключевые моменты: — **Документ «ЭлектронноеПисьмоИсходящее»** — стандартный объект БСП для работы с исходящими письмами. 
 — **Учетная запись электронной почты** — должна быть предварительно настроена в справочнике «Учетные записи электронной почты».
 — **МетодЭлектроннаяПочта.ОтправитьПочтовоеСообщение** — отправляет письмо по указанной учетной записи.
 — Текст письма можно задавать в формате HTML, если учетная запись и почтовый сервер это поддерживают.
 — Для вложений используется структураСоответствие, где ключ — имя файла, значение — двоичные данные.— ### Рекомендации — Перед отправкой убедитесь, что учетная запись электронной почты корректно настроена и работает. 
 — Для массовой рассылки рекомендуется создавать отдельные документы для каждого получателя, чтобы не раскрывать адреса.
 — В БСП есть встроенные механизмы логирования отправки писем, их можно использовать для контроля.— Рекомендую посмотреть здесь: 
 https://infostart.ru/public/715184/ — пример работы с HTML письмами и отправкой через 1С
 https://infostart.ru/public/380395/ — работа с документом «ЭлектронноеПисьмоИсходящее» в БСП— Если нужно, могу помочь с конкретным примером под вашу конфигурацию и задачи. Оценка ответа: 9/10 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
