LISTSERV is still widely used to e-mail newsletters, updates and announcements to subscribers. But how did they become subscribers? Most likely, an administrator performed an initial bulk import, but is still stuck manually adding individual subscribers upon request. In the early days of electronic mailing lists, LISTSERV was on the cutting edge, allowing users to send basic commands via e-mail in order to subscribe to a list. Perhaps users are still comfortable with this method, but there’s a slight generation gap between the modern Content Management System and the older LISTSERV software.
Users browsing your site can easily send messages with the use of web-based forms, so signing up for newsletters and announcements should be just as easy, even if LISTSERV is still being used. Of course there are more current third-party options available such as MailChimp, Constant Contact and others. But for those still sending e-mails to a LISTSERV, the process should be as painless for users as those other guys. Setting up a web form to send requests directly to the LISTSERV may seem like re-inventing the wheel, but if it makes it easier for those browsing your site to sign up, it’s worth the time it takes to configure.
The standard command to subscribe to a LISTSERV looks something like this: “subscribe LISTNAME-L John Doe” – which is sent to the LISTSERV software’s e-mail address. In UF’s case, it’s email@example.com. When a user submits a subscription request, the list owner is sent a “confirmation request” e-mail from LISTSERV, asking if you would like to approve the request. A simple “OK” reply will allow the user to be added. It’s a good practice to preview these requests instead of automatically adding subscribers, but as a list owner, you have the ability to issue commands that automatically add subscribers, without the approval process. This is where a web-based form could be utilized.
A typical web-based contact form captures the user’s name, e-mail and a message. For creating a subscription form, the fields could be slimmed down to just name, e-mail and the mailing list name – if you have more than one. It’s also a good idea to add a CAPTCHA, in order to prevent spam. Using the Webform module in Drupal, we can set up these fields, then use “tokens” to stick these values in the notification e-mails sent out when the Webform is submitted. Here’s an example e-mail template:
subscribe LISTNAME-L %value[first_name] %value[last_name]
In this example, the subscribe command is sent to the LISTSERV where we specify the list name. This could be replaced with a token as well, if more than one mailing list should be offered. The value tokens insert the user’s first and last name from the form submission. The only piece missing, is the user’s e-mail address, which needs to be added as a “component” in the Webform option for “e-mail from address.” This makes the Webform appear as if it was sent from the subscriber’s own e-mail address.
As an administrator, if you’d like to skip the “confirmation request” step of the process used by the “subscribe” command, you can make the Webform submissions appear to come directly from the list owner. Here’s an example of the “add” command used in the e-mail template:
add LISTNAME-L %value[email] %value[first_name] %value[last_name]
The only difference from the “subscribe” command, is that we’re providing the user’s e-mail address in the message, instead of it being pulled from the sender’s information. This command silently adds the listed user, without the need for confirmation. Please note that the list owner’s e-mail address needs to be listed as the “e-mail from address” in order for this to work. The Webform module sends notification e-mails “on behalf of” the site administrator. So, depending upon the configuration, the list owner e-mail address may need to be added under the core “site information.” Once it’s all set up, and your mailing list subscription form is live on your site, you’ve got a maintenance-free LISTSERV!