These examples have been wrapped for legibility, but they must be entered as a single line in the LISTSERV configuration. Parameters are shown in red for emphasis only.

    • Query matching Active Directory users in a particular organizational unit at EXAMPLE.COM:  

SERVER=nickname BASE=OU=%1,DC=EXAMPLE,DC=COM
FILTER= '(&(objectcategory=person)(objectclass=user))'


    • Query matching members of a Windows Security Group at EXAMPLE.COM:

SERVER=nickname BASE=CN=Users,DC=EXAMPLE,DC=COM
FILTER= '(&(objectcategory=person)(objectclass=user)
(memberof=CN=%1,CN=Users,DC=EXAMPLE,DC=COM))'  


    • Advanced example: query matching recipients from a DBMS table whose e-mail address is at a particular hostname.  

TYPE=DBMS SERVER=nickname SEARCH='SELECT CUST_EMAIL,
CUST_NAME FROM SOMETABLE WHERE CUST_EMAIL LIKE CONCAT(''%%@'',%1)' E-MAIL=CUST_EMAIL


Because LISTSERV inserts all parameters as escaped string constants, it is not possible to form the pattern ‘%@[parameter #1]’ by entering ‘%%@%1’ in the SELECT statement. Instead, the run-time CONCAT function is used. The single quotes surrounding the first parameter, ‘%%@’, must be doubled because the entire SELECT statement is inside a quoted string. LISTSERV will supply the quotes around the %1 parameter.

Note: All of the quote marks used in these examples are true single quotes (ASCII hex 27), also called apostrophes.  Do not use smart quotes or double quotes in these queries.