Jeremy Smith's blog

Entry Is Labelled

Opt-Out Mass Email Lists

I had a meeting with some folks from Marketing & Communications over the new mass emailing system (you know, the one's that target all students or all employees). It was a basic here's-how-it's-going-to-work demo to gather feedback, find out about any new additional requirements that have crept in since we started, and to get everyone together and up to speed on how to roll it out.

Well, once we started, a discussion began about providing additional lists for all students, all faculty, and all students. Lists that would be opt-out-able.

I talked about mass communication and lists and opt-out-able lists before in Mass Communication and Too Many Newsletters Probably Means Alternate Communication Paths Need to be Employed.

So I started poking around to see what I could do. Could I leverage Sympa and the Directory Services and create mass email lists that were opt-out-able? And could they co-exist with the non-opt-out-able lists? And could this be done without introducing ludicrous amounts of complexity? On both the systems side and user side?


Yes, but it will take a small bit of custom coding.

These opt-out-able lists would work just like the regular mass email Sympa lists. However, we would need a separate web page — something small... not a lot of code. All it would do would be to authenticate a user through CAS, look that user up in LDAP to determine if he or she was a student, staff, or faculty member. Then, it would provide little radio buttons: "opt out of optional student emails", "opt out of optional staff emails", "opt out of optional faculty emails". After the user would hit submit, it would modify that users LDAP entry accordingly by setting or unsetting an attribute called memberOf.

That's all it would take. Just a bit of coding.

At that point, I was going to send an email to Greg asking him if he wants to help me solve this problem for the campus.

Then I remembered that I had been looking for something small and simple to do so that I could code something a bit more non-trivial than the glorified "Hello, World" tasks I have completed in Ruby on Rails. Plus, I wanted to try out Ruby/ActiveLDAP library. Here's my shot.

So maybe that's how I'll spend next Friday. Of course, Greg keeps bugging me about that authentication web service I told him I would do. Maybe I'll end up doing that instead.


  1. gravatar

    If you use ActiveLDAP, let me know how it goes. That library looks interesting but I haven't had a chance to play with it yet.

  2. gravatar

    Do the authentication web service ;) I need that in place before CAS can be ready for the January password change policy.

  3. gravatar

    Sounds like a good plan.