Добавлена новая функциональность для массовой установки подписей пользователям Яндекс 360 на основе шаблона.
# Пример входного файла для установки подписей
# Строки, начинающиеся с #, игнорируются
# В каждой строке: алиас, email, id или фамилия пользователя
alavret
ivan.petrov
user@company.com
1130000000000001
Петров
<div>-- </div>
<div><em>С Уважением,</em></div>
<div> </div>
<div><span style="font-family:'comic sans ms' , sans-serif;font-size:16px;line-height:normal"><strong>{first} {middle} {last} ❤️</strong></span></div>
<div><blockquote><div><span style="color:#4b0082">email</span>: <a href="mailto:{email}" rel="noopener noreferrer">{email}</a></div></blockquote></div>
<div><blockquote><div>tel: {phone}</div></blockquote></div>
<div><blockquote><div>position: {position}</div></blockquote></div>
<div><a href="https://360.yandex.ru">site</a></div>
<div> </div>
<div><img src="https://avatars.mds.yandex.net/get-yapic/36689/ibZ4wLaL4Vrw5rZRmobgBL2fu0-1/islands-200" /></div>- Запустите скрипт:
python3 360_text_admin_console.py - Выберите пункт меню "Work with email settings" (пункт 4)
- Выберите "Set email signature" (пункт 7)
- Укажите путь к файлу с пользователями
- Укажите путь к шаблону подписи
- Подтвердите выполнение
В шаблоне можно использовать следующие переменные:
| Переменная | Описание | Источник |
|---|---|---|
{first} |
Имя | user.name.first |
{middle} |
Отчество | user.name.middle |
{last} |
Фамилия | user.name.last |
{position} |
Должность | user.position |
{email} |
Email адрес | user.nickname@domain |
{phone} |
Телефон | user.phone |
Используется endpoint согласно официальной документации Яндекс 360:
POST /admin/v1/org/{orgId}/mail/users/{userId}/settings/sender_info
{
"signs": [
{
"emails": ["user@domain.com"],
"isDefault": true,
"text": "HTML подпись",
"lang": "ru"
}
],
"signPosition": "bottom"
}- Проверка существования каждого пользователя в Яндекс 360
- Обработка множественных совпадений
- Пропуск строк, начинающихся с
# - Создание списка проблемных строк
- Retry механизм (до 3 попыток)
- Логирование всех операций
- Обработка HTTP ошибок
- Статистика успешных/неудачных операций
users_signature_input.csv:
alavret
ivan.petrov
user@company.com
users_signature_input.csv:
# IT отдел
alavret
ivan.petrov
# Маркетинг
user@company.com
users_signature_input.csv:
alavret # по логину
ivan.petrov@company.com # по email
1130000000000001 # по UID
Петров # по фамилии
- OAuth токен с правами на управление настройками почты пользователей
- Доступ к API Яндекс 360
- Python 3.6+
- Библиотека Rich для красивого вывода
- Подтверждение пользователя перед выполнением операций
- Валидация всех входных данных
- Логирование всех операций
- Graceful обработка ошибок
Все операции записываются в лог-файл 360_text_admin_console.log:
- Чтение файлов
- Валидация пользователей
- API вызовы
- Результаты операций