При внедрении и администрировании системы «1С:Документооборот» одной из наиболее частых задач является интеграция с электронной почтой. Система предлагает два принципиально разных механизма работы: полноценную встроенную почту и так называемую легкую почту. Использование легкой почты позволяет существенно сэкономить дисковое пространство на сервере баз данных, так как переписка и тяжелые вложения не хранятся внутри информационной базы 1С.
Однако на этапе настройки администраторы часто сталкиваются с парадоксальной ситуацией: при проверке системной или персональной учетной записи система сообщает об успешном подключении, но при попытке отправить документ или сообщение пользователю выводится ошибка отправки. В рамках данной статьи мы подробно разберем, почему возникает эта проблема, как правильно настроить параметры маршрутизации почты и интегрировать систему с внешними почтовыми клиентами, включая Mozilla Thunderbird и Microsoft Outlook.
Для того чтобы понять природу этой ошибки, проанализируем архитектуру взаимодействия «1С:Предприятия» с почтовыми серверами. Проверка учетной записи в интерфейсе настройки состоит из двух независимых фаз: проверки подключения к серверу входящих сообщений (по протоколам IMAP или POP3) и проверки соединения с сервером исходящей почты (по протоколу SMTP). Успешный статус проверки часто означает лишь то, что система смогла авторизоваться на получение писем, в то время как отправка блокируется на стороне почтового сервера или локального шлюза.
Рассмотрим подробнее основные технические причины сбоя SMTP-соединения:
25 без флага шифрования, отправка будет отклонена сервером. Необходимо использовать порт 465 (для SSL) или 587 (для STARTTLS).25 или 465. Убедитесь, что для процесса службы сервера 1С:Предприятия (или локального клиента) разрешены исходящие соединения по этим портам.Даже если технические параметры подключения к SMTP-серверу настроены идеально, отправка писем из интерфейса программы может не работать из-за отсутствия связи между пользователем и настроенной учетной записью. За маршрутизацию сообщений отвечает специализированный регистр сведений ИспользованиеПочты.
Разберем по шагам, как решить эту проблему через заполнение регистра:
Использование почты (системное имя — РегистрСведений.ИспользованиеПочты).После заполнения этого регистра система получит четкое указание: когда пользователь инициирует отправку документа по электронной почте, программа должна обратиться к конкретным настройкам SMTP-сервера, привязанным к его учетной записи, либо передать управление внешнему почтовому клиенту.
Легкая почта в «1С:Документооборот» умеет работать не только напрямую через SMTP-сервер, но и делегировать отправку внешним почтовым клиентам, установленным на компьютерах пользователей. Это особенно удобно, если организация использует привычные десктопные приложения.
Рассмотрим, как настроить такую интеграцию в персональных настройках:
Использование связки с десктопным клиентом (например, Mozilla Thunderbird) решает проблему отсутствия истории переписки в самой базе 1С. Поскольку письмо физически отправляется через внешнее приложение, вся история отправленных писем сохраняется в папке «Отправленные» вашего почтового клиента.
Для разработчиков, которым необходимо реализовать автоматическую отправку уведомлений или документов из кастомных бизнес-процессов, рассмотрим пример кода, демонстрирующий программное создание исходящего письма на базе легкой почты. Для этого используется менеджер работы с почтовыми сообщениями.
Проанализируем следующий пример кода:
// Создаем новое почтовое сообщение
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
ПочтовоеСообщение.Тема = "Уведомление о согласовании документа";
ПочтовоеСообщение.Отправитель.Адрес = "sender@company.ru";
// Добавляем получателя письма
АдресПолучателя = ПочтовоеСообщение.Получатели.Добавить();
АдресПолучателя.Адрес = "recipient@company.ru";
// Заполняем тело письма
ПочтовоеСообщение.Тексты.Добавить("Добрый день! Документ успешно согласован.", ТипТекстаПочтовогоСообщения.ПростойТекст);
// Получаем системную учетную запись для отправки
УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
Попытка
// Выполняем отправку через встроенный механизм легкой почты
РаботаСПочтой.ОтправитьПочтовоеСообщение(УчетнаяЗапись, ПочтовоеСообщение);
Сообщить("Письмо успешно отправлено!");
Исключение
// Обработка ошибок подключения к SMTP-серверу
ЗаписьЖурналаРегистрации("ОтправкаПочты", УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Сообщить("Не удалось отправить письмо. Обратитесь к администратору системы.");
КонецПопытки;
В данном фрагменте кода функция РаботаСПочтой.ОтправитьПочтовоеСообщение обращается к настройкам переданной учетной записи. Если для системной учетной записи корректно заполнены параметры SMTP и в регистре сведений ИспользованиеПочты настроены права доступа, отправка произойдет в фоновом режиме без вызова интерактивных окон.
Подводя итог, выделим основные сильные и слабые стороны использования легкой почты в «1С:Документооборот» для принятия окончательного решения по архитектуре системы:
Преимущества:
Ограничения:
sales@company.ru) силами нескольких менеджеров непосредственно в интерфейсе 1С, для этих целей больше подходит встроенная почта.Таким образом, для большинства сценариев рассылки уведомлений о задачах и быстрой отправки файлов контрагентам функционала легкой почты более чем достаточно, при условии правильного заполнения регистра использования и корректной настройки SMTP-сервера.