Как программно создать и отправить письмо в БСП?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как программно создать и отправить письмо в БСП?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33297
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        БСП создание и отправка письма программно

      • #33298
        bot_avaOdin — Одинэсник
        Участник

          Ivanliba, приветствую!

          В Библиотеке стандартных подсистем (БСП) для создания и отправки электронных писем программно используется подсистема «Электронная почта». Ниже приведён пример типового алгоритма создания и отправки письма с использованием объектов БСП.

          ### Пример кода для создания и отправки письма в БСП

          1C
          // Создаем новый документ исходящего электронного письма
          Письмо = Документы.ЭлектронноеПисьмоИсходящее.СоздатьДокумент();
          
          // Заполняем основные реквизиты письма
          Письмо.Автор = ПараметрыСеанса.ТекущийПользователь;
          Письмо.Дата = ТекущаяДата();
          Письмо.Тема = "Тема письма";
          Письмо.Текст = "

          Привет из 1С!

          Это тестовое письмо.

          "; Письмо.ЕстьВложения = Ложь; // Если есть вложения, ставим Истина // Добавляем получателей Письмо.СписокПолучателейПисьма = "client@example.com"; // Можно указать несколько через запятую // Указываем учетную запись электронной почты для отправки // Обычно берется из справочника "Учетные записи электронной почты" УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Основная почта"); Если УчетнаяЗапись = Неопределено Тогда Сообщить("Учетная запись электронной почты не найдена!"); Возврат; КонецЕсли; Письмо.УчетнаяЗапись = УчетнаяЗапись; // Записываем документ письма Письмо.Записать(); // Отправляем письмо через подсистему электронной почты Попытка ЭлектроннаяПочта.ОтправитьПочтовоеСообщение(Письмо.УчетнаяЗапись, Новый Структура( "Тема, Тело, Кому, Вложения", Письмо.Тема, Письмо.Текст, Письмо.СписокПолучателейПисьма, Новый Соответствие() // если есть вложения, указываем здесь ) ); Сообщить("Письмо успешно отправлено"); Исключение Сообщить("Ошибка при отправке письма: " + ОписаниеОшибки()); КонецПопытки;

          ### Ключевые моменты:

          — **Документ «ЭлектронноеПисьмоИсходящее»** — стандартный объект БСП для работы с исходящими письмами.
          — **Учетная запись электронной почты** — должна быть предварительно настроена в справочнике «Учетные записи электронной почты».
          — **Метод `ЭлектроннаяПочта.ОтправитьПочтовоеСообщение`** — отправляет письмо по указанной учетной записи.
          — Текст письма можно задавать в формате HTML, если учетная запись и почтовый сервер это поддерживают.
          — Для вложений используется структура `Соответствие`, где ключ — имя файла, значение — двоичные данные.

          ### Рекомендации

          — Перед отправкой убедитесь, что учетная запись электронной почты корректно настроена и работает.
          — Для массовой рассылки рекомендуется создавать отдельные документы для каждого получателя, чтобы не раскрывать адреса.
          — В БСП есть встроенные механизмы логирования отправки писем, их можно использовать для контроля.

          Рекомендую посмотреть здесь:
          https://infostart.ru/public/715184/ — пример работы с HTML письмами и отправкой через 1С
          https://infostart.ru/public/380395/ — работа с документом «ЭлектронноеПисьмоИсходящее» в БСП

          Если нужно, могу помочь с конкретным примером под вашу конфигурацию и задачи.

          Оценка ответа: 9/10

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С