Решение «Отправка на электронную почту» по списку корреспондентов в юридически значимом формате

19 1

Ежедневно в организациях происходит отправка официальных писем различным корреспондентам. Часть переписки осуществляется через электронную почту. В некоторых случаях список адресатов по одному исходящему документу может доходить до 1000, при этом одному адресату иногда нужно отправить на официальный и личный e-mail.

На текущий момент в коробочной версии системы Directum RX реализована отправка вложением в письмо при установленном почтовом клиенте Outlook по списку рассылки, но не реализованы дополнительные возможности.

Отправка документа на электронную почту по действию «Вложением в письмо» не решает задачи:

  • контроля и мониторинга отправки;
  • статистики отправки за определенный период времени;
  • одновременной отправки более чем одной организации;
  • одновременной отправки более чем на 1 электронный ящик адресату;
  • отправка в юридически значимом формате с открепленными ЭП.

В этой статье расскажу про решение для отправки писем по e-mail напрямую из Directum RX без использования почтовых клиентов, реализованное на проекте внедрения в Правительстве Тюменской области. В результате удалось сократить время на работу с исходящими письмами, настроить контроль и мониторинг их отправки без обращения к почтовому клиенту. Также была обеспечена возможность электронной отправки писем через МЭДО и взаимодействие с другими системами на Directum RX, но это тема для отдельного материала.

Описание решения

Отправка юридически значимого документа

Решение позволяет отправлять юридически значимые документы. Система автоматически преобразовывает документы в стандартизованный формат – в виде архива с открепленными подписями. При чем для пользователя, который отправляет, не требуется никаких действий.

После отправки по электронной почте корреспондент получает письмо с вложенным ZIP-архивом. В тексте письма отображается информация по отправителю, организации отправителя, электронной почте организации отправителя.

ZIP-архив содержит:

  • основной документ в формате PDF со штампом подписи и регистрационными данными;
  • оригинал документа в исходном формате;
  • открепленная электронная подпись (при наличии);
  • приложения и другие связанные файлы, если они были отправлены вместе с основным документом

Кроме того, в момент отправки происходит преобразование оригиналов документов в PDF для наиболее распространенных офисных-форматов - DOC, DOCX, ODT, ODS, XLS, XLSX. Независимо от формата файла, если он подписан электронной подписью архив будет содержать файл открепленной ЭП.

Примечание. Преобразование форматов идет полностью импортонезависимыми средствами – через объектную модель LibreOffice.

 

Отправка исходящего письма

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

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

 

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

 

Вкладка Адресаты помогает увидеть общую картину отправки письма. Если предполагается рассылка нескольким адресатам, то в табличной части вкладки есть информация по корреспондентам, наименованию ящика эл. почты, статусу у контрагента – статусу отправки письма, а также аналогичные параметры для отправки копии письма. Дополнительно в табличной части отображается инициатор отправки и дата:

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

 

Старт процесса происходит через меню Отправка на панели действий карточки исходящего письма. Если у него есть связанные документы, система запрашивает перечень документов, отправляемых вместе с основным письмом.

Допустим, наше письмо связано с прочими документами в системе. В этом случае при отправке письма система открывает диалоговое окно:

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

Чаще всего пользователь выбирает определенные документы, поэтому по умолчанию они не добавлены все. Иначе пользователю пришлось бы сначала снимать галочки с каждого из них, и время на подготовку увеличилось. В диалоговом окне отображается только первый уровень связанных документов. Если исходящее письмо связано с входящим, у которого в свою очередь есть приложения, то в диалоговом окне при отправке исходящего письма будет доступен только один связанный документ – входящий.

Если у корреспондента не заполнена электронная почта, то система оповестит о невозможности отправки по эл. почте.

Часто согласно корпоративной политике использования почтовых серверов, есть ограничение по размеру отправляемых файлов. Константа лимита объема задается администратором в прикладной настройке системы.

Пока в колонке «Статус у контрагента» обозначено состояние «Ожидает отправки», можно внести изменения в состав вложенных документов, например, если забыли какое-то вложение. Для этого необходимо удалить значение «Ожидает отправки», поправить содержимое и повторить отправку.

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

После совершения отправки меняется информация в табличной части вкладки Адресаты:

И на вкладке История:

Во избежание недоразумений, так как адрес копии отправки может удалить любой пользователь с типом прав «Изменение», в истории прописывается информация об адресе эл. почты копии и отправленных документах в колонке комментарий. При отправке на основную почту в этой колонке также прописывается информация об отправленных документах.

 

Реестр отправки

После отправки письма в системе создается сообщение со служебными данными. Все сообщения по процессу хранятся в Реестре отправки по e-mail. На нашем проекте данный реестр был закреплен в модуле Компания.

Реестр выглядит следующим образом:

Основные данные в реестре, по которым можно фильтровать информацию:

  • отправитель – пользователь, стартовавший отправку документа;
  • дата отправки – дата и время формирования сообщения в реестре;
  • ведущий документ – основной документ для отправки, параметр предназначен для удобства поиска отправленного письма в реестре;
  • состояние – статус отправки документа. В момент создания записи в реестре статус состояния находится в значении «Ожидает отправки». После запуска отправки с помощью фонового процесса статус меняется на значение «Обработка». По завершении процесса отправки статус состояния меняется либо на значение «Отправлено», либо на значение «Ошибка».
  • расширение – информация о формате отправленного документа корреспонденту. Если основной документ для отправки в формате odt и подписан, то расширение по формату меняется в процессе отправки на pdf, т.к. в этот момент происходит преобразование основного документа.

Само сообщение реестра отображает полную информацию по письму, включая всех корреспондентов отправки, т.е. один документ – одно сообщение:

После успешного завершения процесса в карточке реестра меняется общий статус отправки и статусы по каждому корреспонденту в табличной части:

Если нужно повторно отправить письма некоторым корреспондентам в исключительных случаях, это можно сделать прямо из карточки реестра. Нужно изменить Статус отправки в табличной части Адресаты обратно «На обработку», и общее Состояние сообщения автоматически изменится. Далее система повторно обработает карточку сообщения.

Если в процессе отправки возникли ошибки, а адресатов в списке не 10, а 1000, то не нужно в табличной части у каждого корреспондента менять Статус отправки, достаточно поменять общее Состояние, и система также обработает карточку сообщения, повторно отправив письмо всем Корреспондентам, у которых статус «К отправке» или «Ошибка».

 

Контроль статуса отправки из карточки исходящего письма

После нажатия кнопки Отправить и закрытия карточки через некоторое время пользователь может проконтролировать и убедиться, что письмо было отправлено корреспонденту. Временной промежуток отправки зависит от количества адресов в списке рассылки, объема отправляемой информации и скорости выполнения фонового процесса.

Если корреспондент один, пользователь может посмотреть Статус отправки в списке исходящих писем, не заходя в карточку документа:

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

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

При повторной отправке система также изменяет в табличной части значения полей Дата отправки и Отправитель в зависимости от текущего пользователя и даты. А в истории документа фиксируется факт отправки.

Как это работает с технической точки зрения

Общая схема работы решения выглядит следующим образом:

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

Если в исходящем письме есть эл. ящик для копии письма, такой адрес добавляется как отдельный элемент табличной части адресатов в карточке сообщения.

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

В момент начала обработки фоновым процессом записи реестра отправки первоначально создается архив, который необходимо будет отправить Адресатам (состав архива описан выше). В рамках подготовки архива дополнительно происходит преобразование ведущего документа в PDF с простановкой штампа электронной подписи и регистрационных данных (если это необходимо). После того, как архив будет подготовлен, он размещается на сервере в Общей папке, доступ к которой есть со всех серверов, где размещены сервисы асинхронной обработки. Путь до архива фиксируется и в записи реестра отправки и в будущем в каждой записи технического реестра.

Примечание. Для обеспечения безопасности данных как только система закончит работу по отправке документа всем адресатам, архив с данными будет удален с сервера.

 

Принцип создания очереди:

  • запись реестра отправки должна иметь общий статус «Ожидает отправки»;
  • для обработки берутся все записи в табличной части Адресаты в статусах «Ожидает отправки» или «Ошибка»;
  • после создания записи в реестре очереди в табличной части Адресаты статус меняется на «Обработка».

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

Далее последовательно выполняется отправка сообщений с вложенным архивом.

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

Если процесс завершен успешно, информация также сохраняется в реестре отправки, дополнительно обновляется дата и время последней отправки.

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

  • ожидает, когда карточка исходящего письма будет свободна;
  • как только исходящее письмо освободится, получает соответствующую запись из табличной части Адресаты исходящего документа и проставляет значение «Отправлено». Если была совершена отправка в копию (узнаем по наименованию электронного ящика), актуализирует статус в поле Статус копии;
  • актуализирует дату и время отправки из вспомогательного реестра очереди отправки;
  • проходится по дублям адресов электронной почты и также актуализирует в них информацию.

Если возникла ошибка отправки, данное значение не транслируется в карточку исходящего письма. Там остается значение «Ожидает отправки».

Бизнес-эффект

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

Кроме того, данное решение экономит ресурсы, ведь при отправке электронных писем происходит преобразование документа в PDF-версию с отметкой штампа об ЭП и с открепленной ЭП, а сформированный PDF не хранится в системе.

Решение «Отправка на электронную почту» создано для повышения прозрачности бизнес-процессов организаций и упрощения работы пользователей системы. Функциональность будет удобна и полезна для крупных организаций.

Решение вынесено в шаблоны и доступно для партнеров.

На сколько я знаю, подобной реализации на рынке еще не было. Особенно радует, что решение не привязано к конкретному почтовому сервису, что делает его унитарным.

Было бы интересно посчитать, сколько тратили раньше времени сотрудники на подобные рутинные операции и сколько сэкономили после внедрения решения. 

Отличная статья, ждем продолжения )

Авторизуйтесь, чтобы написать комментарий