Эффективное управление списками рассылки в командной строке Carbonio

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В прошлой статье мы рассказывали о появившейся в Carbonio возможности для пользователей удобно управлять личными и корпоративными списками рассылки, а также возможностях для администраторов делегировать управление списками рассылки непосредственно пользователям. Однако, если по каким-то причинам делегирование списков рассылки не представляется возможным, администратор должен самостоятельно обеспечивать актуальность списка рассылки В данной статье мы расскажем о том, как можно эффективно управлять корпоративными списками рассылки в командной строке Carbonio и автоматизировать рутинные процессы, связанные с добавлением и удалением пользователей.

Данная инструкция подойдет как для пользователей бесплатной версии Carbonio Community Edition, так и коммерческой версии Carbonio.

Командная строка Carbonio охватывает весь спектр возможных действий со списками рассылки, начиная от создания и удаления самого списка рассылки, до его переименования и создания алиасов. Примеры таких команд:

  • carbonio prov createDistributionList dl@carbonio.local - создает список рассылки с указанным именем

  • carbonio prov renameDistributionList dl@carbonio.local dlist@carbonio.local - переименовывает ранее созданный список рассылки из dl@carbonio.local в dlist@carbonio.local

  • carbonio prov getDistributionList dlist@carbonio.local - выводит на экран полный список атрибутов списка рассылки

Любой атрибут из списка может быть изменен. Для примера, запретим созданному списку рассылки получать почту:

carbonio prov modifyDistributionList dlist@carbonio.local zimbraMailStatus disabled

Проверить, что изменение применилось корректно, можно повторно выведя атрибуты списка рассылки

Помимо переименования, можно использовать алиасы списка рассылки. Письма, направленные на такой алиас, попадут в основной список рассылки. То же касается и различных прав доступа. После их применения к алиасу, они распространятся на всех участников основного списка рассылки.

  • carbonio prov addDistributionListAlias dlist@carbonio.local dlist1@carbonio.local - добавит к списку рассылки dlist алиас dlist1

  • carbonio prov removeDistributionListAlias dlist1@carbonio.local - удалит ранее созданный алиас dlist1

Для управления пользователями в списках рассылки используются следующие команды:

  • carbonio prov addDistributionListMember dlist@carbonio.local user@carbonio.local - Добавляет в список рассылки dlist@carbonio.local пользователя user@carbonio.local

  • carbonio prov getDistributionListMembership dlist@carbonio.local user@carbonio.local - показывает, является ли пользователь user@carbonio.local участником списка рассылки dlist@carbonio.local.

  • carbonio prov removeDistributionListMember dlist@carbonio.local user@carbonio.local - Удаляет из списка рассылки dlist@carbonio.local пользователя user@carbonio.local

Удалить список рассылки можно при помощи команды carbonio prov deleteDistributionList dlist@carbonio.local 

Динамические списки рассылки являются списками рассылки, состав участников которых определяется не пользователем, который управляет данным списком, а поисковым запросом к Carbonio LDAP. Поскольку результаты поиска могут меняться в случае появления на сервере новых пользователей или удаления уже существующих учетных записей, такой список рассылки и называется динамическим.

Перед созданием динамического списка рассылки нужно определиться с поисковым запросом в LDAP. Примеры таких запросов:

  • ldap:///??sub?(objectClass=zimbraAccount) - в выдачу попадают все учетные записи на сервере

  • ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed))) - в выдачу попадают все учетные записи на сервере, кроме системных, ресурсных и закрытых учетных записей.

  • ldap:///??sub?(&(objectClass=inetOrgPerson)(mail=*@carbonio.local)) - в выдачу попадут все пользователи домена carbonio.local

  • ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed))(zimbraCOSId=53b3ab9e-f414-4eb7-bd98-393b62de15d3)) - в выдачу попадут только пользователи определенного класса обслуживания

Сами динамические списки рассылки создаются при помощи команды carbonio prov createDynamicDistributionList all@carbonio.local memberURL 'ldap:///??sub?(objectClass=zimbraAccount)' .

После создания динамического списка рассылки, его поисковую базу можно изменить. К примеру, carbonio prov modifyDynamicDistributionList all@carbonio.local memberURL 'ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed)))'.

Для удаления динамического списка рассылки используйте команду carbonio prov deleteDynamicDistributionList all@carbonio.local.

В случаях, когда в списке рассылки участвуют не только пользователи на сервере, но и внешние учетные записи, динамические списки рассылки не могут использоваться для автоматизации рутинных действий по добавлению или удалению учетных записей.

Для того, чтобы сделать процесс добавления и удаления учетных записей в статических списках рассылки максимально быстрым и удобным, администратор может использовать скрипты. 

Пример скрипта для добавления в статический список рассылки пользователей всего домена:

for acc in $(carbonio prov -l gaa|grep @carbonio.local); do carbonio prov addDistributionListMember dlist@carbonio.local $acc; done

Пример скрипта для удаления пользователей домена из списка рассылки:

for acc in $(carbonio prov -l gaa|grep @carbonio.local); do carbonio prov -f removeDistributionListMember dlist@carbonio.local $acc; done

Параметр -f в данном скрипте позволит ему игнорировать ошибки, связанные с тем, что пользователи домена могут не являться участниками списка рассылки.

Массово добавлять и удалять пользователей можно и с помощью файла, содержащего данные о них. Для добавления учетных записей используйте формат “adlm user@domain list@domain”, а для удаления “rdlm user@domain list@domain”

После того как соответствующие файлы будут созданы можно будет их запустить при помощи команд

carbonio prov /tmp/addusers

carbonio prov -f /tmp/removeusers

Обратите внимание на то, что для корректного выполнения скриптов с использованием файлов с данными, у системного пользователя zextras должны быть права на чтение этого файла.

Таким образом, командная строка Carbonio позволяет администратору организовать эффективную работу со списками рассылки и автоматизировать часть рутинных задач.

По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.

Получить информацию и обменяться информацией о Carbonio CE вы можете в группах в Telegram CarbonioMail и Carbonio CE Unofficial

Источник: https://habr.com/ru/companies/Zextras/articles/817951/


Интересные статьи

Интересные статьи

Привет, Хаброжители! Новые инструменты, фреймворки методики и парадигмы вновь и вновь меняют экосистему разработки программного обеспечения. Непрерывный прогресс основных практик разработки на п...
Задумывались ли вы о том, как незрячие люди используют смартфон? Для этого существуют программы экранного доступа или скринридеры. Они проговаривают всё то, что зрячие пользователи видят на экране. Им...
Привет. Недавно поставил перед собой задачу сделать платфомер с управлением в стиле Hot-Seat. Я рассматривал конкретно модель, где один игрок играет на клавиатуре, а второй на геймпаде.Однако поискав ...
Привет! Меня зовут Артём Карачёв, я фронтенд-разработчик в Sportmaster Lab. Сейчас мы пишем модуль автоматизации физической фотостудии, где работают несколько фотографов, менеджеров, фоторедакторов, к...
Перед тем, как начать говорить о качестве на производстве, давайте очертим границы – мы говорим о процессах, связанных с изменением физического состояния объекта, их итог...