JAMM — an update to the Java Mail Manager
Ronald MacDonald <ronald@rmacd.com> v1.0, Sun Feb 12 21:24:03 EST 2012
Having used JAMM (the Java Mail Manager) for about two years now, I’ve made some changes. Most of these are quite insignificant and merely comprise of adjustments to Struts logic and to interface CSS. These have been compiled into a short patch and are available below.
What is JAMM?
Quite simply, it’s a front-end written in JSP which handles administration of LDAP-based virtual lookup tables. I use this alongside Postfix and Dovecot. JAMM comes with its own schema, which defines various hierarchies; domains fall within a ‘jvd’ (Jamm Virtual Domain) class, each of which may be delegated to and administered by a ‘sub-postmaster’. Aliasing is handled also.
Screenshots
What’s changed? Here’re some screenshots.
Changes
The setup documentation requires ACLs to be set up — as you would expect — on the LDAP server. Due to the fact OpenLDAP now uses LDAP-based configuration files, replacing the usual slapd.conf, rules have had to be modified very slightly. For sake of completeness, here is my ACL ruleset for running JAMM — allowing for the Dovecot user to read the userPassword field, to facilitate authentication. You’ll obviously need to change this to suit your own configuration:
olcAccess: {0}to dn.subtree="o=mailsrv,dc=rmacd,dc=com"by dn.exact="cn=jadmin,dc=rmacd,dc=com" write by * break olcAccess: {1}to dn.regex=".*,jvd=([^,]+),o=mailsrv,dc=rmacd,dc=com" attrs=userPassword by self write by group/jammPostmaster/roleOccupant.expand="cn=postmaster,jvd=$1,o=mailsrv,dc=rmacd,dc=com" write by dn="cn=dovecotuser,dc=rmacd,dc=com" read
by * auth olcAccess: {2}to dn.regex="jvd=([^,]+),o=mailsrv,dc=rmacd,dc=com" by group/jammPostmaster/roleOccupant.expand="cn=postmaster,jvd=$1,o=mailsrv,dc=rmacd,dc=com" write by dn="cn=dovecotuser,dc=rmacd,dc=com" read
by * read ... [rest of non-mail ACL rules]
| ‘break’ on this rule will facilitate administrative access by ‘jadmin’ (i.e. Jamm Admin) user. | |
| You might not need this, I just put it here for completeness. |
Download and Install
Download the source package from the SF.net page at http://jamm.sourceforge.net/ and deploy the WAR file to your /webapps directory.
Once it’s all working, the base install should be available on your server under /jamm-0.9.6. Download jamm.patch and apply as usual: patch -p0 jamm.patch in the base directory of your Jamm installation.