[SOLVED] Automatic distribution lists management

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
1048cvidal
Advanced member
Advanced member
Posts: 51
Joined: Fri Sep 12, 2014 10:02 pm

[SOLVED] Automatic distribution lists management

Post by 1048cvidal »

Hi
I've just developped a script for automatic distribution list management.
The principle is the following: by adding the keyword "Groups:" to the "Notes" field in the user account, the script will take care of modifying the distribution lists accordingly.
For instance, a Notes field can look like:
> Pete works from home

> Groups: developpers@foo.com support@foo.com
The script will make this user a member of the 2 groups and remove him from any other group.
By running the script from cron it is possible to update the groups as often as you want.
To simplify the migration to this system, if the Notes field does not have a "Groups:" label, then nothing changes for that user.
The script is written in Python and needs the package python-ldap to be able to talk with Zimbra's ldap.
It also produces lists of all users and the groups they belong to and all groups and the members they have. For instance:
zmgroup -s ldap://zimbra.whm.com:389 -l cvidal@whm.com toto@whm.com
will list the groups of the users cvidal@whm.com and toto@whm.com.
The command:
zmgroup -s ldap://zimbra.whm.com:389 -l
Will list the same info for all users. The same for groups using the '-g' flag.
If no flags are given, the script will generate a zmprov command list to modify the groups according to what it found in the Notes fields. In this version the commands are generated in the file /tmp/updategroups.zm. If it is OK, the file can be run as the user zimbra with the line:


zmprov

To be able to access the Notes field in LDAP, the user must be a LDAP administrator. Normally this is 'zimbra'. The LDAP root password can be obtained from the file /opt/zimbra/.saveconfig/config.save. The command will look like:
zmgroup -s ldap://zimbra.whm.com:389 -u zimbra -p your_ldap_passwd
Use the '--help' flag to get a full description of the available features.
In a few days, once a few admins gave me their feedback, I will activate the '-x' flag so that the 'zmprov' command is run by this script and a log is sent to the admin. In this way it will be possible to add the command to cron.hourly or cron.daily.
The script can be download from Fichiers WHM.
All your feedback is very welcome.
Carlos
zmgroup.tgz
mmorse
Ambassador
Ambassador
Posts: 6036
Joined: Fri Sep 12, 2014 10:24 pm

[SOLVED] Automatic distribution lists management

Post by mmorse »

Very interesting approach-good job!
lars_BE
Posts: 49
Joined: Fri Sep 12, 2014 10:13 pm

[SOLVED] Automatic distribution lists management

Post by lars_BE »

Thanks ! i realy needed this.
with kind regards, Lars.
blata
Posts: 8
Joined: Fri Sep 12, 2014 11:36 pm

[SOLVED] Automatic distribution lists management

Post by blata »

I noticed that this post is rather old and a few ver. ago. Does it still work? Is there something better? I like the idea and would like to use it.
uxbod
Ambassador
Ambassador
Posts: 7811
Joined: Fri Sep 12, 2014 10:21 pm

[SOLVED] Automatic distribution lists management

Post by uxbod »

Have you tried it ? If it does not work against the current releases you could always have a go at fixing it ;)
blata
Posts: 8
Joined: Fri Sep 12, 2014 11:36 pm

[SOLVED] Automatic distribution lists management

Post by blata »

Nope does not seem to work.
zmgroup -s server -l

works

zmgroup -s server -g

works

but

zmgroup -s server -u zimbra -p passwd
gives no output and writes nothing to the /tmp/updategroups.zm file.
since i dont know python and couldnt guess when looking at the code. I guess I'm SOL.
Weastbug
Posts: 3
Joined: Sat Sep 13, 2014 2:21 am

[SOLVED] Automatic distribution lists management

Post by Weastbug »

Hello,
Link http://files.whitehatmail.fr/ dead and i can't use the attachement.


Weast.
Post Reply