Email-уведомления из 1С: миграция со сторонних мессенджеров на корпоративную почту | infolimp.ru

Email-уведомления из 1С: миграция со сторонних мессенджеров на корпоративную почту

11 мая 2026 · infolimp.ru

Автор: 1С Инсайдер · роль: практик 1С · проверка: типовые конфигурации и рабочие сценарии · 0 комментариев

Многие команды годами строили оповещения из 1С через сторонние мессенджеры. Сейчас часть из них стала недоступной для российских пользователей, и поток вопросов на профильных форумах сместился: «как перевести уведомления на корпоративную почту». Разбираем, как сделать это штатными средствами платформы — без внешних компонент и без зависимости от инфраструктуры, которую вы не контролируете.

Почему именно почта

SMTP-инфраструктура есть в каждой организации, она не блокируется на уровне страны, маршруты прозрачны для службы ИБ, история сообщений хранится в почтовом ящике сама собой. Платформа 1С:Предприятие 8.3 умеет работать с почтой через объекты ИнтернетПочтовыйПрофиль, ИнтернетПочта и ИнтернетПочтовоеСообщение — это часть стандартной поставки, никаких сторонних библиотек ставить не нужно.

Что меняется в коде по сравнению с «ботом»

Логически — почти ничего: была одна функция «отправить текст в чат», станет «отправить письмо адресату». Все паттерны вокруг (очередь, регламентное задание, обработка ошибок, журнал регистрации) сохраняются один в один.

Минимальный пример: отправка одного письма

Функция ОтправитьПисьмо(АдресПолучателя, Тема, ТекстПисьма) Экспорт

    Профиль = Новый ИнтернетПочтовыйПрофиль;
    Профиль.АдресСервераSMTP        = "smtp.example.ru";
    Профиль.ПортSMTP                = 465;
    Профиль.ИспользоватьSSLSMTP     = Истина;
    Профиль.ПользовательSMTP        = "noreply@example.ru";
    Профиль.ПарольSMTP              = ПолучитьПарольИзЗащищенногоХранилища();
    Профиль.АутентификацияSMTP      = СпособSMTPАутентификации.ПоУмолчанию;

    Письмо = Новый ИнтернетПочтовоеСообщение;
    Письмо.Тема = Тема;
    Письмо.Отправитель = "noreply@example.ru";
    Письмо.Кому.Добавить(АдресПолучателя);
    Письмо.ТекстыСообщения.Добавить(ТекстПисьма, ТипТекстаПочтовогоСообщения.ПростойТекст);

    Почта = Новый ИнтернетПочта;
    Результат = "";
    Попытка
        Почта.Подключиться(Профиль);
        Почта.Послать(Письмо);
        Результат = "ok";
    Исключение
        Результат = "Ошибка отправки: " + ОписаниеОшибки();
    КонецПопытки;

    Попытка
        Почта.Отключиться();
    Исключение
        // соединение могло не открыться — это нормально
    КонецПопытки;

    Возврат Результат;

КонецФункции
Пароль никогда не храните ни в коде, ни в открытой константе. Используйте защищённое хранилище: УстановитьДанныеЗащищенногоХранилища при настройке и ПолучитьДанныеЗащищенногоХранилища при отправке. Доступ к этому хранилищу есть только на сервере, что отрезает целый класс утечек.

Сравнение подходов: мессенджер-бот и почта

ПараметрБот в мессенджереКорпоративная почта
Зависимость от внешней инфраструктуры Полная — сторонний сервис, чужие домены, чужие правила Минимальная — собственный почтовый сервер или провайдер на договоре
Доставляемость в РФ-периметре Может пропасть в любой момент по причинам вне вашего контроля Стабильна, ограничения на уровне почтового домена
История сообщений В чате, легко теряется при смене устройства В почтовом ящике, индексируется и архивируется штатно
Сложность интеграции из 1С HTTP-запросы + сериализация JSON + лимиты Bot API Один объект платформы, без сторонних библиотек
Подходит для срочных уведомлений Да, push приходит мгновенно С небольшой задержкой; решается push-уведомлениями почтового клиента

Очередь и регламентное задание

Прямой вызов отправки из ПриЗаписи документа — анти-паттерн: пользователь будет ждать SMTP-сессию. Правильный шаблон:

  1. В обработчике события объекта (например, ПриЗаписи регистра «Заявки») добавляйте запись в регистр сведений-очередь: получатель, тема, тело, дата постановки в очередь.
  2. Регламентное задание «Рассылка уведомлений по почте» с шагом 1–3 минуты выбирает неотправленные записи, отправляет их через ИнтернетПочта.Послать, помечает успешные.
  3. Записывайте каждую попытку в журнал регистрации (ЗаписьЖурналаРегистрации) с уровнями УровеньЖурналаРегистрации.Информация для успеха и УровеньЖурналаРегистрации.Ошибка — для отказа.
  4. На каждый адрес отправляйте не чаще одного письма в минуту: иначе SMTP-сервер посчитает вас спамером, и письма начнут попадать в «нежелательные».
  5. Все письма от служебных аккаунтов (noreply@…) должны иметь корректные SPF/DKIM/DMARC у домена — иначе доставляемость рухнет.

Чек-лист миграции

  1. Заведите служебный почтовый ящик noreply@ и согласуйте его с администратором почты.
  2. Сохраните пароль в защищённом хранилище: одноразово вызовите УстановитьДанныеЗащищенногоХранилища из серверного кода (например, из обработки настройки рассылки).
  3. Создайте регистр сведений «ОчередьУведомлений» (адрес, тема, тело, статус, дата).
  4. Перенаправьте существующие вызовы «отправить в чат» на новую функцию «положить в очередь».
  5. Включите регламентное задание-рассыльщик, задайте расписание с шагом 1–3 минуты.
  6. На тестовом контуре выключите SMTP-сервер на 10 минут и убедитесь, что письма не теряются — только остаются в очереди со статусом «ошибка».

Типичные ошибки

Профессиональные решения для 1С и marketplace-интеграций — каталог отчётов и инструментов на витрине НОПи.

Перейти в каталог решений →