Как настроить отправку почты через Gmail в 1С:Управление торговлей 11 при использовании SSL и почему не уходят письма

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

Интеграция почтовых сервисов с программами 1С нередко сопровождается трудностями, особенно когда речь идет о защищенных соединениях по протоколам SSL/TLS почтовой службы Gmail и конфигурациях на базе подсистемы «Взаимодействия» («1С:Управление торговлей 11»). Разберем типичную цепочку проблем, с которыми сталкиваются администраторы и разработчики: от корректного описания параметров локального прокси-сервиса до системных механизмов очереди отправки сообщений в платформе «1С:Предприятие 8.3».

Анализ первой проблемы: ошибки в конфигурации stunnel

При использовании устаревших платформ или специфических режимов совместимости конфигураций прямое подключение к защищенным портам почтовых сервисов через встроенный объект ИнтернетПочтовыйПрофиль может вызывать трудности. В таких случаях традиционно используют локальный SSL-прокси stunnel, принимающий незашифрованное соединение от 1С на локальном адресе и передающий его во внешний мир через защищенный канал.

Проанализируем распространенную ошибку, возникающую при запуске туннеля: SMTP greeting failure: 421 SMTP connection broken (reply) или ошибку разбора файла Specified option name is not valid here при добавлении параметров службы. Выясним причину такого поведения утилиты:

  1. Параметр service относится к созданию и управлению службой Windows из командной строки и не должен находиться внутри рабочего конфигурационного файла stunnel.conf. Наличие этой строки приводит к аварийной остановке сервиса с сообщением Server is down.
  2. Директива client = yes обязательно должна присутствовать в глобальной секции конфигурации, чтобы stunnel понимал, что выступает в роли клиента, а не защищенного сервера.
  3. Для исходящей почты Gmail важно учитывать разницу между портами: порт 465 использует прямой SSL (Implicit SSL/SMTPS), а порт 587 требует протокола явного перехода на шифрование STARTTLS. Если туннелируется порт 587, необходимо обязательно задавать директиву protocol = smtp. При использовании прямого SSL на порту 465 достаточно базовой переадресации.

Посмотрим на рабочий пример файла stunnel.conf для корректной маршрутизации почтового трафика Gmail:


client = yes
output = stunnel-log.txt
debug = 5

[SMTP Gmail]
accept = 127.0.0.1:25
connect = smtp.gmail.com:465

[POP3 Gmail]
accept = 127.0.0.1:110
connect = pop.gmail.com:995

После корректировки конфигурации и перезапуска службы stunnel интерактивная проверка учетной записи в 1С успешно завершается и тестовое письмо поступает в почтовый ящик.

Анализ второй проблемы: тестовое сообщение уходит, а обычные письма не отправляются

Частая ситуация при работе с конфигурацией «1С:Управление торговлей 11»: проверка подключения через форму учетной записи завершается без ошибок, однако письма, созданные пользователями вручную, не доходят до адресатов и зависают в системе. Разберем по шагам архитектурные причины этого явления в «1С:Предприятии 8.3».

Решение 1. Контекст выполнения в клиент-серверном варианте и адрес 127.0.0.1

Проанализируем различия в работе интерактивной проверки и регламентных механизмов:

  1. Когда мы нажимаем кнопку Проверить учетную запись, отправка тестового письма может отрабатывать в контексте тонкого клиента на рабочем месте пользователя, где запущен и слушает порт 127.0.0.1:25 сервис stunnel.
  2. Регулярная отправка исходящей почты в «Управлении торговлей 11» делегирована фоновому заданию Получение и отправка электронных писем. Фоновые задания исполняются рабочими процессами сервера 1С (rphost).
  3. Если сервер «1С:Предприятия» физически отделен от пользовательского компьютера, то при попытке подключиться к 127.0.0.1:25 сервер обращается к своему собственному локальному сетевому интерфейсу, где stunnel не запущен.
  4. Для исправления ситуации установим и настроим stunnel непосредственно на сервере 1С либо настроим stunnel на сетевом сервере с параметром accept = 0.0.0.0:25 и укажем в учетной записи 1С реальный IP-адрес этого хоста в локальной сети вместо локальной петли.

Решение 2. Проверка работы регламентных заданий на сервере

Если служба прокси настроена корректно, проверим состояние регламентного задания Получение и отправка электронных писем:

  1. Откроем консоль администрирования кластера серверов 1С и убедимся, что для информационной базы снят флаг Блокировка регламентных заданий включена. При установленной блокировке задания не будут запускаться по расписанию.
  2. Перейдем в режим «1С:Предприятие» в раздел Администрирование -> Обслуживание -> Регламентные и фоновые задания. Найдем регламентное задание Получение и отправка электронных писем, проверим, установлен ли признак Включено, и проанализируем расписание выполнения (по умолчанию рекомендуется запуск каждые несколько минут).
  3. Если информационная база работает в файловом режиме, регламентные задания в фоне автоматически не стартуют. Для их работы требуется запуск выделенного сеанса пользователя с непрерывным выполнением регламентных заданий либо публикация базы на веб-сервере.

Решение 3. Настройка немедленной отправки сообщений без ожидания регламентного задания

Если пользователям требуется, чтобы письма отправлялись сразу же в момент нажатия кнопки отправки, минуя буферизацию в регламентных заданиях, настроим персональные параметры работы с почтой:

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

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

Решение 4. Статусы документов взаимодействий и пароли приложений Gmail

Проанализируем дополнительные скрытые факторы, которые препятствуют отправке почты:

  1. Статус письма в базе: Исходящие письма в подсистеме взаимодействий представляют собой полноценные документы. Если письмо осталось в статусе черновика («В работе»), фоновое задание не станет его отправлять. Документ должен быть переведен в состояние «Готово к отправке».
  2. Требования безопасности Google: Почтовый сервис Gmail не принимает стандартные пароли учетных записей от сторонних почтовых клиентов при включенной базовой безопасности. В профиле учетной записи Google необходимо активировать двухэтапную аутентификацию, перейти в подраздел безопасности, сгенерировать Пароль приложения (16-значный буквенный код) и именно его указать в поле пароля учетной записи 1С.

Альтернативное решение: нативная поддержка SSL в современных версиях платформы

Отметим, что использование стороннего туннеля stunnel являлось вынужденной мерой для старых версий платформы «1С:Предприятие 8.1» и «8.2». В среде «1С:Предприятие 8.3» объект ИнтернетПочтовыйПрофиль нативно поддерживает защищенные SSL/TLS-подключения, исключая необходимость в сторонних утилитах:


Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.gmail.com";
Профиль.ПортSMTP = 465;
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.ПользовательSMTP = "user@gmail.com";
Профиль.ПарольSMTP = "пароль_приложения";
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;

Если конфигурация «Управление торговлей 11» обновлена и не использует строгий режим совместимости с версией 8.2, рекомендуется перейти на прямое подключение с включением защищенных соединений в стандартной форме настройки системной учетной записи электронной почты.

← На главную