Skip to content

ostermine/posteioad

Repository files navigation

Интеграция poste.io с Active Directory

Рубрика от админа для админов

Задача

Не поднимать тяжеловесные Exchange, Zimbra и подобное, при этом чтобы было легко создавать ящики для юзеров в рамках домена.

Что делает

Запускается по расписанию и нюхает группу безопасности, которую вы указали в конфиге. Если там появился кто то новый, то оно лезет по апи на вашу poste.io и создаёт ящик вида <ad login>@domain.tld (там всё можно более детально посмотреть в config.yml)

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

Как запустить

Пре-реквизиты

Я предполагаю что у вас уже есть развёрнутая poste.io и Active Directory, в котором есть группа безопасности mail

Если вы не разбираетесь в Python, можете просто скачать exe файл в разделе Releases Если вы хотите подпилить под себя, предполагается, что базовые знания Python у вас есть Код из себя представляет императивно-декларативный подход, с элементами самодокументирования (даже кое где есть комментарии)

Сборка из исходников

  • Скопировать файлы к себе на комп, разархивировать, должен быть установлен Python 3.12+
  • Открыть cmd или powershell в папке с проектом - python -m venv env (Shift+ПКМ в нужной папке - открыть powershell здесь)
  • .\env\Scripts\activate
  • pip install -r requirements.txt
  • Далее нужно внести свои данные в config.yml
  • Проверка работоспособности: в том же окне Powershell пишем python .\main.py
  • Если всё там профигачилось без ошибок можно собрать exe файлик
  • pip install pyinstaller
  • Потом пишем там же pyinstaller --onefile main.py
  • Оно там долго будет чето писать, потом когда напишет Build complete! The results are available in: вот тут можно забрать готовый файл main.exe (папка dist)

Деплой

Я это собирал в ехе файл как раз чтобы разместить на контроллере домена, чтобы оно быстрее там отрабатывало

  • После успешной сборки копируем 3 файла: main.exe, config.yml, instructions.yml
  • Размещаем на контроллере домена в папке C:\Scripts и открываем планировщик задач виндовый
  • Создаём таск - запуск файла каждые 15 минут, файл C:\Scripts\main.exe рабочая папка C:\Scripts
  • Всё

Послесловие

Работает чётко, проверено на Win Server 2016-2019, главное чтобы инет был.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages