Почему не приходят уведомления на почту в 1С:Документооборот 2.1, если проверка соединения работает успешно?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Документооборот IT и автоматизация бизнеса
← На главную

Одной из частых проблем при администрировании 1С:Документооборот является внезапное прекращение рассылки уведомлений пользователям. Ситуация усложняется тем, что при поверхностной проверке все кажется исправным: тестовые письма уходят, но реальные уведомления застревают в очереди. В этой статье мы подробно разберем диагностику этой проблемы, проанализируем причины ошибки SSL/TLS при отправке почты сервером и рассмотрим способы решения.

Симптомы проблемы

Рассмотрим ситуацию, с которой часто сталкиваются администраторы:

  1. Пользователи перестали получать уведомления о задачах и событиях на email.
  2. В регистре сведений Очередь уведомлений записи накапливаются, но не исчезают (не обрабатываются).
  3. При нажатии кнопки "Проверить учетную запись" в настройках почты 1С выдает сообщение об успешном соединении, и тестовое письмо приходит.
  4. Регламентное задание Уведомление пользователей о произошедших событиях завершается со статусом "Выполнено успешно" или висит долгое время (мониторинг зависших процессов), но почта не уходит.

Этап 1: Локализация проблемы

Первым делом нам необходимо убедиться, что проблема именно в механизме отправки, а не в настройках e-mail пользователей. Для этого выполним следующие действия:

1. Проверим, работает ли базовая отправка писем (в том числе через списки рассылки). Для этого можно воспользоваться ссылкой на список учетных записей (через "Функции для технического специалиста" или прямую ссылку):

e1cib/list/Справочник.УчетныеЗаписиЭлектроннойПочты

Нажмем кнопку Проверить учетную запись. Если приходит письмо с темой "Тестовое сообщение 1С:Документооборот", значит, на клиенте (на вашем компьютере) настройки верны.

2. Проверим попытки отправки в очереди. Откроем регистр Очередь уведомлений. Обратим внимание на поле Количество попыток отправки. Если оно достигло максимума (обычно 3 попытки), система больше не будет пытаться отправить это уведомление.

3. Проанализируем Журнал регистрации. Это самый важный этап. Нам нужно найти ошибки, возникающие в момент работы регламентного задания. Фильтруем журнал по событию "Ошибка" и метаданным, связанным с почтой.

Этап 2: Анализ ошибки SSL/TLS (Код 27)

Часто при детальном изучении лога ошибки (или при отладке фонового задания) мы можем обнаружить следующее сообщение:


Ошибка при вызове метода контекста (Подключиться)
{ОбщийМодуль.Почта.Модуль(185)}:Соединение.Подключиться(Профиль, ПротоколИнтернет);
...
по причине:
Произошла ошибка при работе с SMTP. Код ошибки: 27 (Ошибка установки защищенного SSL/TLS соединения.)

Давайте разберемся, почему возникает эта ошибка и почему проверка соединения работала.

Парадокс "Клиент-Сервер":

Когда вы нажимаете кнопку "Проверить" в пользовательском режиме, код выполняется на Клиенте (вашем компьютере). Если у вас есть доступ к интернету, открыты порты и установлены сертификаты, проверка проходит.

Однако рассылка уведомлений выполняется регламентным заданием на Сервере 1С. Сервер — это другая машина, с другим сетевым окружением. Ошибка с кодом 27 означает, что сервер 1С не смог установить защищенное соединение с почтовым сервером (например, mail.ru, yandex.ru, gmail.com).

Причины и решения ошибки Code 27

1. Устаревшие сертификаты на сервере (cacert.pem)

Это самая распространенная причина. Платформа 1С использует свой собственный файл с корневыми сертификатами для проверки SSL-соединений. Если этот файл устарел, 1С не доверяет сертификату почтового сервера (например, Mail.ru) и разрывает соединение.

Решение:

  1. Найдите файл cacert.pem в папке установки платформы на сервере (обычно C:\Program Files\1cv8\8.3.xx.xxxx\bin\).
  2. Замените его на актуальный файл сертификатов (можно взять свежий файл от Mozilla или экспортировать актуальные сертификаты из браузера).
  3. Перезапустите службу Агента сервера 1С.

2. Блокировка портов или антивирус на сервере

Убедитесь, что с сервера, где работает служба 1С, открыт доступ к почтовым портам. Для защищенных соединений обычно используются:

Иногда системные администраторы блокируют исходящий трафик с сервера, что приводит к ошибкам соединения именно в фоновых заданиях.

3. Настройки "Паролей приложений"

Если вы используете публичные почтовые сервисы (Mail.ru, Yandex, Google), использование обычного пароля от ящика в настройках 1С может быть заблокировано политикой безопасности провайдера, особенно если включена двухфакторная аутентификация.

Решение:

  1. Зайдите в настройки безопасности почтового ящика через веб-браузер.
  2. Создайте Пароль для внешних приложений.
  3. В 1С в настройках системной учетной записи укажите именно этот сгенерированный пароль, а не пароль входа на сайт.

Этап 3: Настройка Системной учетной записи в Документообороте

Важный нюанс работы уведомлений в 1С:Документооборот — использование правильной учетной записи (например, при формировании листа согласования в уведомлении). Уведомления рассылаются от имени предопределенной Системной учетной записи.

Проверим настройки:

  1. Перейдем в раздел Настройка и администрирование — Учетные записи электронной почты.
  2. Найдем запись Системная учетная запись.
  3. Убедимся, что для нее установлен флаг Использовать для отправки уведомлений (или "Использовать для рассылки").
  4. Проверим соответствие адреса электронной почты и настроек SMTP. Поле "Адрес электронной почты" должно совпадать с логином пользователя (или быть разрешенным алиасом), иначе почтовый сервер может вернуть ошибку 550 Policy violation или Relay access denied.

Этап 4: Отладка (если ничего не помогло)

Если проблема сохраняется, и логи не дают ясного ответа, необходимо прибегнуть к отладке фонового задания. Для этого:

  1. Запустите отладку на сервере с ключом -debug.
  2. В конфигураторе перейдите в Отладка - Подключение и выберите фоновые задания.
  3. Поставьте точку останова в общем модуле РаботаСУведомлениями.

Нас интересует процедура обработки очереди:


// Примерный путь к методу в коде
РаботаСУведомлениями.ОбработатьУведомленияВОчередиУведомлений()

Внутри этой процедуры вызывается отправка. Обратите внимание на формирование соединения:


// Место возникновения ошибки
Соединение.Подключиться(Профиль, ПротоколИнтернет);

В режиме отладки вы сможете увидеть точный текст исключения и параметры профиля, с которыми система пытается установить соединение. Это позволит понять, отличается ли профиль системной учетной записи от того, который вы тестировали вручную.

Резюме

Если в 1С:Документооборот не уходят уведомления, но тест почты работает:

  1. Проблема локализована на уровне сервера 1С (регламентное задание).
  2. Чаще всего причина в SSL-сертификатах (файл cacert.pem) или закрытых портах на сервере.
  3. Проверьте, что в настройках Системной учетной записи используется корректный "Пароль приложения" от почтового сервиса.
← На главную