The Magician

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
скрипты_поиска_почты_по_всей_организации_cgp [2026/09/10 10:18] jpскрипты_поиска_почты_по_всей_организации_cgp [2026/09/10 11:41] (current) jp
Line 31: Line 31:
   files/config.toml   files/config.toml
 Этот файл необходимо настроить перед запуском скрипта, поскольку в нём содержатся необходимые для работы параметры, без которых скрипт не запустится. Этот файл необходимо настроить перед запуском скрипта, поскольку в нём содержатся необходимые для работы параметры, без которых скрипт не запустится.
 +
 +В общем случае, скрипт работает примерно так: при первом запуске //search.py// скрипт предложит интерактивно сформировать список учётных записей (если файл //users.csv// отсутствует), В КОТОРЫХ будет выполняться поиск либо их всех доменов, либо из списка конкретных доменов.
 +
 +Список доменов должен содержаться в файле: 
 +
 +  files/domains.csv
 +А список пользователей, которых обнаружит скрипт в файле:
 +  files/users.csv
 +После формирования списка пользователей, либо обработки существуюшего - скрипт произведет поиск по заданным в //config.toml// критериям и интерактивно предложит действия, которые могут быть произведены с обнаруженной почтой.
 +
 +Примеры таких действий: копирование почты в другой ящик, удаление почты и т.д.
 +
 +==== Настройки конфигурационного файла config.toml ====
 +
 +В первую очередь необходимо прописать сервер, порт и параметры SSL. Скрипт использует протокол //XIMSS//. Порт здесь будет аналогичным порту, на котором работает интерфейс пользователя (HTTPU). При отключенном SSL, соответственно, используется порт HTTP-версии интерфейса.
 +
 +<code>
 +[server]
 +host = "cgp.domain.ru"
 +port = "8100"
 +use_ssl = false
 +</code>
 +
 +Теперь зададим информацию о логине, с которым обращаемся к //CGP//:
 +
 +<code>
 +[login_info]
 +user = "postmaster"
 +password = "Passw0rd"
 +</code>
 +
 +Здесь находится путь к файлу с учётными записями пользователя:
 +
 +<code>
 +[files]
 +users = "users.csv"
 +</code>
 +
 +В секции //target// мы задаем почтовый ящик и папку в нем, в которую будем копировать результаты, если выберем это действие на этапе действий скрипта. Можно задать и флаги, которые будут применены к найденной почте, если мы выберем соответствующее действие.
 +
 +<code>
 +[target]
 +mailbox = "~user1@domain.ru/SEARCH"
 +recipients_forward_redirect = ""
 +# пример flags = "Unseen"
 +flags = ""
 +</code>
 +:!: Перед ящиком обязательно должна быть тильда.
 +
 +В секции //filter// мы задаем различные критерии поиска, вроде темы, вложения, дат и пр. Перечислять их все не вижу смысла, укажу только самое базовое - пример строки поиска.
 +
 +<code>
 +[filter]
 +# Искомая строка
 +string = '"RADIUS"'
 +</code>
 +
 +==== Типичный workflow ====
 +
 +1. Мы настраиваем //files/config.toml// с параметрами сервера и поиска. \\
 +2. Мы либо явно указываем пользователей, либо явно указываем домены (из которых сформируется список пользователей), либо запускаем скрипт с пустыми файлами //domains.csv// и //users.csv//, и просим скрипт при запуске самостоятельно сформировать список УЗ. \\
 +3. Применяем действия, если поиск увенчался успехом (если нет, скрипт не будет их предлагать).\\
 +
 +{{tag>CommuniGate Mail RedOS Python}}
скрипты_поиска_почты_по_всей_организации_cgp.1789035514.txt.gz · Last modified: by jp