Table of Contents Previous Next Index

Section 5 SMTPL-Level Spam Control for Windows

Section 5 SMTPL-Level Spam Control for Windows
LISTSERV can now use the SMTPL.EXE SMTP "listener" service to submit inbound email to a third-party spam scanning product. This feature allows sites with significant inbound spam problems to scan and reject spam before it reaches the main LISTSERV process, thus freeing LISTSERV itself to handle legitimate email.
Note: Although this hook can, in principle, be used with any spam scanning product, all the examples and step-by-step instructions in this section will relate to SpamAssassin, a popular freeware spam filter that can be downloaded from
Important: L-Soft did not author SpamAssassin and is unable to correct problems with the SpamAssassin product itself. L-Soft does not make any legal representations or warranties about SpamAssassin. Although L-Soft’s support department will gladly answer questions about the integration of SpamAssassin and SMTPL, we cannot answer questions about SpamAssassin itself.
5.1 Enabling
To enable SMTPL-level spam filtering, you must:
SMTPL will then scan every message it processes, with a few exceptions, and reject messages identified as spam.
5.2 Configuring LISTSERV to Use SpamAssasin
This section contains step-by-step instructions for configuring LISTSERV to use SpamAssassin using one of the L-Soft supplied scripts. Throughout this section, we will make the following assumptions:
You are running the LISTSERV 16.0 with the version of SMTPL.EXE that shipped with it (version 1.0w) or later.
SpamAssassin has already been installed and configured on a server that we will call This can, but does not have to be, the machine on which LISTSERV is installed (i.e. you can run LISTSERV on Windows and SpamAssassin on unix).
Step 1 of 4: Install and Test SpamAssassin Client
Download and install the lspamc.exe executable from L-Soft, and place it in a directory in LISTSERV’s path – for instance, the LISTSERV\MAIN directory.
Note: lspamc.exe is slightly different from the spamc.exe provided for LISTSERV spam scanning. lspamc.exe should be used for SMTPL spam scanning.
To test the client, issue the following command:
C:\> lspamc -c -d < testmsg.txt
The response must be two numbers as shown above, but the numbers can be different than in the example (they are the SpamAssassin score of the test message). Any other response indicates an error. In that case, make sure that spamd is configured to allow connections from the LISTSERV host.
Step 2 of 4: Install REXX (if not already available)
Download REXX.EXE from L-Soft and place it in the same directory where you saved lspamc.exe.
Note: SASMTPL.REXX is incompatible with Regina REXX version 3.1 and later. The version of REXX.EXE downloadable from L-Soft is known to work with the script.
Step 3 of 4: Install and Configure SASMTPL Script
Edit the script to configure, at a minimum, the address of your SpamAssassin server. You may also want to change the other parameters.
Step 4 of 4: Enable the SASMTPL Script
To enable the script, add the following lines to LISTSERV’s configuration:
SMTP_SPAM_CHECK=[list of target hostnames to check]
Change the paths in SMTP_SPAM_EXIT to match your local installation. Ensure that the line begins with an exclamation point (!).
Normally, SMTP_SPAM_CHECK may be set to %MYDOMAIN%. If you host multiple domains on the same LISTSERV server, you will need to list each domain (space-separated).
Note: For the 75 concurrent spam scans configured in the example, 750M-1G of memory will be required. Depending on available resources, you may want to start lower.
Restart SMTPL to make the change take effect, then mail a known spam message to a test list to confirm that everything is working as it should.

L-Soft international, Inc.