- ✅ В подменю "Work with email settings" (пункт 4) добавлен пункт 7 "Set email signature"
- ✅ Обновлены choices в Prompt.ask для включения "7"
- ✅ Добавлен вызов функции
set_email_signature(settings)
Местоположение: строки 3748-3767
Функциональность:
- Чтение файла с пользователями
- Пропуск строк, начинающихся с
# - Создание структуры данных для каждого пользователя
- Обработка ошибок файловой системы
Возвращает:
- Список словарей с данными пользователей
- None при ошибке
Местоположение: строки 3769-3794
Функциональность:
- Валидация каждого пользователя в Яндекс 360
- Использование существующей функции
find_user_by_search_term - Создание списка проблемных строк
- Логирование результатов поиска
Возвращает:
- Список проблемных строк при ошибках
- False при критических ошибках
Местоположение: строки 3796-3805
Функциональность:
- Загрузка HTML шаблона подписи из файла
- Обработка ошибок файловой системы
- Поддержка UTF-8 кодировки
Возвращает:
- Содержимое шаблона при успехе
- None при ошибке
Местоположение: строки 3807-3833
Функциональность:
- Подстановка переменных пользователя в шаблон
- Поддержка переменных:
{first},{middle},{last},{position},{email},{phone} - Получение данных из структуры пользователя Яндекс 360
- Обработка отсутствующих полей
Возвращает:
- Шаблон с подставленными значениями
Местоположение: строки 3835-3878
Функциональность:
- POST запрос к API для установки подписи
- Подготовка данных согласно официальной документации
- Механизм повторных попыток (до 3 раз)
- Логирование всех операций
API Endpoint:
POST /admin/v1/org/{orgId}/mail/users/{userId}/settings/sender_info
Структура данных:
{
"signs": [
{
"emails": ["user@domain.com"],
"isDefault": true,
"text": "HTML подпись",
"lang": "ru"
}
],
"signPosition": "bottom"
}Местоположение: строки 3880-3992
Функциональность:
- Интерактивный интерфейс с Rich
- Запрос путей к файлам
- Валидация пользователей
- Загрузка и предварительный просмотр шаблона
- Подтверждение пользователя
- Массовая установка подписей
- Статистика результатов
Содержимое:
<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>Содержимое:
# Пример входного файла для установки подписей
# Строки, начинающиеся с #, игнорируются
# В каждой строке: алиас, email, id или фамилия пользователя
alavret
ivan.petrov
user@company.com
1130000000000001
Петров
- Добавлено описание новой функции в разделе "Настройки электронной почты"
SET_SIGNATURE_FEATURE.md- подробное описание функцииSET_SIGNATURE_IMPLEMENTATION.md- текущий файл
- Создайте файл с пользователями (
users_signature_input.csv) - Создайте шаблон подписи (
signature_template.html)
python3 360_text_admin_console.py- Выберите пункт меню 4 "Work with email settings"
- Выберите пункт меню 7 "Set email signature"
- Укажите путь к файлу с пользователями
- Укажите путь к шаблону подписи
- Подтвердите выполнение
- Валидация всех пользователей
- Предварительный просмотр шаблона
- Массовая установка подписей
- Статистика результатов
# IT отдел
alavret
ivan.petrov
# Маркетинг
user@company.com
<div><strong>{first} {last}</strong></div>
<div>Email: {email}</div>
<div>Phone: {phone}</div>
<div>Position: {position}</div>- ✅ Синтаксис Python корректен
- ✅ Импорты работают
- ✅ Меню обновлено
- ✅ Функции реализованы
- ✅ Документация обновлена
- ✅ Обработка ошибок реализована
- ✅ API соответствует официальной документации
POST https://api360.yandex.net/admin/v1/org/{orgId}/mail/users/{userId}/settings/sender_info
- Python 3.6+
- Rich library
- OAuth токен с правами на управление настройками почты
- Доступ к API Яндекс 360
- Retry механизм: до 3 попыток при ошибках API
- Логирование: все операции записываются в лог
- Пользовательские сообщения: красивые панели с Rich
- Graceful degradation: корректная обработка всех исключений
- Валидация: проверка всех входных данных
Все задачи выполнены успешно. Функциональность готова к использованию.