Topic: Mailing List admin-by-mail
I've been running iRedMail for nearly 6 years, hosting several domains for myself and others (pro bono). I set up a couple of mailing lists for one of the nonprofits I host for. The "admins" for this amateur radio project aren't very computer-literate (and their list subscribers are less-so) so when they want to e.g. add people to the mailing list or see who's on there, they have to ask me.
They wanted to be a little more "self-service" but need serious hand-holding and are afraid of using a terminal emulator (or I'd whip up a quick little menu-driven front-end for maillist_admin.py), so I created
a system whereby they can send a limited set of commands by email and get responses back.
I am pleased with the result, and thought I'd share it here.
A copy of the script (with installation instructions in the comments) is attached.
For security, any command but "help" requires that the requester be registered as a moderator,owner,etc. for that list.
Obviously, you shouldn't blindly follow my instructions and install stuff on your server if you can't understand what it's doing. Certainly this could be abused (esp. since it executes shell commands with little filtering), though I think that the way I've set it up the risk is minimal if you trust your moderators. (If you have ideas for improvement, please feel free to share them with me.)
The Pro version of iRedMail has a great Web UI for managing mailing lists, including viewing/updating membership. Even were I using that, though (I'm on the free version), I don't think I want to give these folks that much power to shoot themselves in the foot -- to view/maintain list membership they'd need to be a domain admin and they'd be able to mess w/ email accts and list settings. (I don't think there's granular enough security to let them only do what I want to allow and nothing else.)
----
Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.