This is an old revision of the document!
Скрипт загрузки подписей CGP
Задачу установки подписи в формате HTML встроенным функционалом CGP не решить. Вендор предоставляет скрипт загрузки подписи по запросу. Вопросам использования данного скрипта посвящен этот материал.
Зависимости
Прежде, чем успешно использовать Python-скрипт - потребуется установить необходимые зависимости, которые описаны в файле requirements.txt.
CGPCLI et_xmlfile numpy openpyxl pandas python-dateutil pytz six tzdata
Пример установки:
pip3.11 install openpyxl
Подготовка к запуску скрипта
Все основные настройки задаются в файле: signature.conf. Вот его примерное содержимое:
# файл конфигурации для утилиты signature.py
[info]
# адрес сервера (по умолчанию server = 127.0.0.1)
server = cgp.domain.ru
# логин администратора
user = admin@postmaster.local
# Пароль администратора
pass = Passw0rd
# имя домена (по умолчанию @testdomain. если домен основной, вводить не обязательно)
domain_name = @domain.ru
# название файла с изображением в кодировке base64
img = img.txt
# название файла со списком пользователей, которым необходимо добавить подпись
xlsx = userlist.xlsx
# название файла с простой подписью
signature = simple_signature.txt
# название файла с html подписью
signature_html = html_signature.html
[attr]
# словарь соответствия атрибутов (слева - используемое название для вставки в файлы-подписи; справа - название атрибутов в CGP)
attrs_dict = {
"__name__":"RealName",
"__company__":"o",
"__department__":"ou",
"__l__":"l",
"__mail__":"mail",
"__st__":"st",
"__telnum__":"telephoneNumber",
"__title__":"title",
"__web__":"defaultWebPage"
}
Примечание 1: логин для пользователя postmaster необходимо задавать именно так: ЧТО-НИБУДЬ@postmaster.local. Во время сеанса по протоколу PWD данное имя будет транслировано в postmaster.
Примечание 2: не забыть @ перед именем домена.
Примечание 3: userlist.xlsx - это именно полноценный Excel-файл, содержащий соответствующую разметку (не просто CSV).
Содержимое подписи
Изображение (логотип)
Изображение или логотип задается в файле img.txt в base64. Пример содержимого:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABQCAYAAABcbTqwAAAACXBIWXM ... NMMJVKAAAAAElFTkSuQmCC
В Linux мы можем создать такое изображение следующим образом:
PNG
echo -n 'data:image/png;base64,' > img.txt base64 -w 0 logo.png >> img.txt
JPG
echo -n 'data:image/jpeg;base64,' > img.txt base64 -w 0 logo.jpg >> img.txt
Текстовая подпись
Текстовая подпись содержится в файле simple_signature.txt. Пример:
Test signature
Примечание: для загрузки русского текста из этого файла нужно найти решение, т.к. если просто указать русский текст - получим ошибку:
CGP set account prefs for the user ivanov Failed
