LISTSERV at Work

LISTSERV Tech Tip

Q: How can I send identical messages to multiple lists without triggering the spam filter?

LISTSERV has long had a built-in anti-spam suite designed to prevent spam from getting through to lists. One major rule in this suite is that sending identical messages to multiple lists over a short period of time constitutes spam. However, considering that there is sometimes a legitimate need to distribute messages to multiple LISTSERV lists, the following are some of the approaches that can be taken.

The Wrong Way

It's the beginning of a new semester. The problem starts with an urgent call from the office of the Dean of Students and an error message that looks something like this:

From: LISTSERV.EXAMPLE.EDU LISTSERV Server (16.0)
Date: Fri, 10 Jan 2014 19:26:56 +0000
To: Dean@EXAMPLE.EDU
Subject: LISTNAME-1142: possible spam from Dean@EXAMPLE.EDU

The LISTSERV network has determined that you have been posting an
abnormally high amount of identical messages to multiple LISTSERV
mailing lists. To ward against a possible spamming attempt, your
posting privileges are being withdrawn for the next 48 hours...

Looking into this, you quickly discover that the address Dean@EXAMPLE.EDU has been quarantined by LISTSERV and is now blocked from sending any further messages to any list on your server for 48 hours. But the messages are urgent and must be sent out to students and staff today. How did this happen? How can you fix it?

It happened because someone in the Dean's office tried to send the same message to many lists on your server at the same time. LISTSERV has long had a built-in anti-spam feature. One major rule is that sending identical messages to multiple lists over a short period of time is considered spam, which is exactly what the Dean's office tried to do.

The Right Way

The first thing to understand is that while this method seems to be the easy and obvious way to communicate the important message to everyone who should see it, sending an identical message to multiple lists is not the correct way to do this in LISTSERV. Experienced LISTSERV administrators will anticipate the need for such communication and will build a Super-List/Sub-List structure to make this possible, even easy.

Super-Lists typically do not have any subscribers and are really just a "container" for logical groupings of your existing lists. In the above example, you might send one message to the FACULTY Super-List to reach all academic staff, regular and adjunct, in all departments, in all schools. It is the careful grouping of the Sub-Lists that guarantees that this will happen. LISTSERV will gather the subscribers from its many lists, eliminate duplicate addresses and deliver the message. Because this is only one message, sent to only one list, it will never run afoul of the internal anti-spam suite.

It does take a little time and planning to create the correct structure of Super-Lists and Sub-Lists, but this is time well spent in preventing headaches later. But no matter how much you plan, sometimes you may need to do something special that may require sending an identical message to multiple lists (even if they might be Super-Lists). So how can you do this without being caught by the anti-spam quarantine?

When you Need to Do It Anyway

The first way to do this is to add some unique text to each message as you send it to each list so that the messages are no longer identical. A Date/Time stamp could do this or a change in the first text line like "Attention All Graduate Students" vs "Attention All First-Year Students". Note that the change must be in the message text, not the subject line.

The second way to do this requires advance preparation. There are certain configuration settings in LISTSERV that can modify the behavior of the built-in anti-spam suite. You can whitelist authorized senders, just as you can blacklist domains or addresses that are likely or known sources of spam.

The details are discussed in the Site Configuration Keyword Reference. An example configuration in site.cfg might look like this:

**** Anti-spam section
* must call SAEXIT first to activate white/black lists
SPAM_EXIT=SAEXIT

* always allowed > to increase score
SPAM_WHITELIST_FROM= >Dean@example.edu
SPAM_WHITELIST_FROM=%SPAM_WHITELIST_FROM% >Provost@example.edu
SPAM_WHITELIST_FROM=%SPAM_WHITELIST_FROM% >Chancellor@example.edu
SPAM_WHITELIST_FROM=%SPAM_WHITELIST_FROM% >President@example.edu

* disable scoring of bounces
SPAM_WHITELIST_BOUNCE=0

* always blocked > to increase score
SPAM_BLACKLIST_FROM=>*@*.VN >*.@.PL >*@*.AR >*@*.CN >*@*.UA
SPAM_BLACKLIST_FROM=%SPAM_BLACKLIST_FROM% >*@*myvzw.com
SPAM_BLACKLIST_FROM=%SPAM_BLACKLIST_FROM% >*@*linkedin.com

The important aspects here are that you must "turn on" this capability by calling the special SPAM_EXIT. You must list either exact addresses or use the usual wildcard character (*). Use the ">" character to increase the internal score. See the documentation for Unix/Linux syntax differences. As always, after setting these sitewide configuration variables, you must stop and restart LISTSERV for them to take effect.

All of these configuration variables must be set up and in place before any address is caught by the 48-hour quarantine. Once a particular address is caught by the quarantine, that address becomes useless for the next 48 hours. You can lift the quarantine for the offending address by using the SERVE Dean@example.edu command, which must be issued by a server administrator, after which that email address can send messages again, but only up to the multiple-list limit (whether the messages are sent all at once or one at a time). Then a new 48-hour quarantine will start.

"Aha!", I hear you ask. "What is the magic number, the multiple-list limit?" L-Soft considers this information proprietary and confidential. If we documented it, real spammers would take advantage of this information. Although intentionally undocumented, this limit can be adjusted. If, after applying all of the above information and suggestions you still think that you need to adjust this limit, please contact L-Soft Support for help at: support@lsoft.com.

Some more common questions about this feature of LISTSERV:

Can the internal anti-spam suite be disabled?
No.

Can the 48-hour quarantine time limit be modified?
No.

Do I need to worry about this?
No, until some high-ranking executive gets caught by the quarantine.

What else do I need to know?
You can always ask L-Soft Support at: support@lsoft.com.

Therefore, the summary is that for some LISTSERV sites (academic institutions are simply the most common case), you may have a need for someone to send identical messages to some or all of your lists. The best way to do this is to anticipate the need and prepare a Super-List/Sub-List structure that will take care of your needs. If you don't do this, but suddenly find yourself with the need to make this happen, you can set up the Spam Whitelist configuration in five minutes or less as long as you do so before the sender is caught by the 48-hour quarantine. Keep your management informed so that they can alert you to the need in enough time for you to set this up. Otherwise, anticipate the need and prepare your server anyway. This tech tip will help you be ready.

References


Subscribe to LISTSERV at Work.

© L-Soft 2014. All Rights Reserved.