Table of Contents Preface - About This Manual Editorial Note - New Version Numbering LISTSERV Command Syntax Conventions Contacting L-Soft Section 1 Who Should Read This Book? 1.1 Where to Find Changes and Updates to the Manual? Section 2 Differences Between Architectures and Implementations 2.1 Differences Between Architectures and Implementations 2.1.1 The File Server 2.1.2 The WWW List Archive and List Management Interface 2.2 Differences between LISTSERV and LISTSERV Lite 2.3 Operating Systems and Architectures Supported Section 3 Principles of Operation Section 4 A LISTSERV How-To for Site Managers 4.1 Installation and Startup Questions 4.2 Initial Configuration Section 5 Configuring Your LISTSERV Site 5.1 Site Configuration Files 5.2 What can be configured? 5.3 Files Used by LISTSERV 5.3.1 Program Executables 5.3.2 BITNET Network Table Files 5.3.3 Internet and Peer Networking Table Files 5.3.4 LISTSERV’s External Data Files 5.3.5 User Reference Material 5.3.6 Command Line Utilities (Non-VM) 5.3.7 GUI Site Configuration Utility (Windows Only) 5.3.8 Line-mode site configuration utility (OpenVMS only) 5.3.9 Other files that will appear during use 5.4 Installing & Configuring LISTSERV’s WWW Archive & Administration Interface 5.4.1 The WWW Archive Interface 5.4.2 The WWW Administration Interface 5.4.3 Installing a Web Server 5.4.4 Installing the Web Archive Interface Script 5.4.5 Creating a Subdirectory for the Archive Interface 5.4.6 Configuring LISTSERV to Activate the Web Archive Interface 5.4.7 Customizing the Web Pages 5.4.8 Enabling Individual Lists 5.4.9 Enabling Web-Based Bulk Operations 5.4.10 RSS Support for Web Archives 5.5 The Spam Detector and Anti-Subscription-Spoofing Feature 5.5.1 Spam Quarantine 5.5.2 "Anonymous" Spam Alerts 5.5.3 Subscription Anti-Spoofing Feature 5.6 Server Registration 5.6.1 Registering LISTSERV Classic and Classic HPO Servers 5.6.2 How do I find out if my server is already registered? 5.6.3 The LISTSERV Backbone 5.6.4 Automatic Registration for LISTSERV Lite Servers 5.7 Inter-Server Updates 5.8 Setting Up Archive and Notebook Directories for Use with LISTSERV 5.9 DBMS and Mail Merge Functions 5.10 Synonymous Host Name Registration via ALIASES NAMES 5.11 Real-Time Anti-Virus Scanning 5.12 LISTSERV DomainKeys Support 5.12.1 Creating DKIM Keys and Configuring DNS 5.12.2 LISTSERV Configuration 5.12.3 Starting LISTSERV with DKIM Support 5.12.4 Using DKIM with LISTSERV 5.12.5 Restrictions and Implementation Choices 5.13 LISTSERV LDAP and Dynamic Query List (DQL) support Section 6 LISTSERV Commands 6.1 General Commands 6.1.1 List Subscription Commands 6.1.2 Other list-related commands 6.1.3 Informational commands 6.1.4 Commands Related to File Server and Web Functions 6.1.5 Other Advanced Commands 6.2 List Owner and File Owner Commands 6.2.1 File Management Commands (for file owners only) 6.2.2 List Management Functions 6.3 LISTSERV Maintainer Commands 6.4 Sending commands to LISTSERV 6.5 Defining Personal Passwords Section 7 Creating and Maintaining Lists 7.1 Basic List Creation 7.2 Architecture-Specific Steps for List Creation 7.2.1 Unix: Creating a List 7.2.2 Unix: Creating the Required Sendmail Aliases 7.2.3 OpenVMS: Creating the Required PMDF Aliases 7.3 Sample Checklist for Creating Lists 7.4 Naming Conventions 7.4.1 The "-L" Convention 7.4.2 Reserved Names 7.4.3 Reserved Characters 7.4.4 Maximum Length of the List Name 7.4.5 Making the List Name User-Friendly 7.5 List Header Keywords 7.6 Retrieving and Editing a List 7.7 Adding a List Password 7.8 Storing a Modified List on the Host Machine 7.9 Fixing Mistakes 7.10 Sample List Header File 7.11 Deleting a List 7.12 Adding HTML to a List Header for the CataList 7.12.1 Update Latency 7.12.2 Inserting a Pointer to Another List 7.12.3 Restrictions on the Placement of Equal Signs 7.13 Setting Up Lists for Specific Purposes 7.13.1 Public Discussion Lists 7.13.2 Private Discussion Lists 7.13.3 Edited Lists 7.13.4 Moderated Lists 7.13.5 Semi-Moderated Lists 7.13.6 Self-Moderated Lists 7.13.7 Private Edited/Moderated Lists 7.13.8 Auto-Responders 7.13.9 Announce-Only Lists 7.13.10 Restricted Subscription Lists with Automatically-Generated Questionnaire 7.13.11 Peered Lists 7.13.11.1 Linking Two or More LISTSERV Mailing Lists 7.13.11.2 Moving Users From One (Peer) Server to Another 7.13.11.3 Special Commands For Peered Lists Only 7.13.12 Super-Lists and Sub-Lists 7.13.13 Cloning Lists 7.14 Merging existing LISTSERV lists 7.14.1 Merging List A into List B; List A User Options Not Preserved 7.14.2 Merging List A into List B; List A User Options Preserved 7.14.3 Merging List A and List B into List C 7.15 Migrating Lists From One Site to Another 7.15.1 Migrating Lists From One LISTSERV Site to Another LISTSERV Site 7.15.2 Migrating Lists from Non-LISTSERV Sites 7.15.3 Migrating Lists from Sendmail Alias Files, Databases, Etc. 7.16 Changing the Name of an Existing List 7.17 Bulk Operations (ADD and DELETE) 7.17.1 Bulk ADD Operations 7.17.2 Bulk DELETE Operations 7.18 Content Filtering 7.19 DomainKeys Message Signing Section 8 File and Notebook Archives 8.1 The File Archive 8.2 Starting a file archive for your list 8.3 Filelist Maintenance (VM Systems Only) 8.3.1 Creating a Filelist (VM Systems Only) 8.3.2 Adding FAC Codes (VM Systems Only) 8.3.3 Retrieving the Filelist (VM Systems Only) 8.3.4 Adding File Descriptors to the Filelist (VM Systems Only) 8.3.5 File Access Codes (FAC) for User Access (VM Systems Only) 8.3.6 Deleting File Descriptors from the Filelist (VM Systems Only) 8.3.7 Storing the Filelist (VM Systems Only) 8.4 The listname.CATALOG System on Non-VM Systems 8.4.1 Adding Files to the SITE.CATALOG 8.4.2 Delegating File Management Authority 8.4.3 Creating a Sub-Catalog 8.4.4 Updating the Sub-Catalog 8.4.5 Indexing the Sub-Catalog 8.5 Storing Files on the Host Machine 8.6 Deleting Files from the Host Machine 8.7 Automatic File Distribution (AFD) and File Update Information (FUI) 8.8 File "Packages" 8.9 Finding More Information on File Archives 8.10 Notebook Archives 8.10.1 Setting Up Notebook Archives for a List 8.10.2 Migrating Old Notebook Archives to a New Site (LISTSERV to LISTSERV) 8.10.3 Migrating Old Notebook Archives (Non-LISTSERV to LISTSERV) 8.10.4 Deleting Old Notebook Archives 8.10.5 Indexing existing notebook archives Section 9 Creating and Editing Mail and Web Templates 9.1 Using LISTSERV Templates 9.2 Getting Copies of the Default Template Files 9.3 Types of Templates 9.3.1 Mail Templates 9.3.2 Message Templates 9.3.3 Message Fragments 9.4 Naming Conventions for Message Templates and Fragments 9.5 Mail Template Format and Embedded Formatting Commands 9.5.1 Mail Template Format 9.5.2 Common Variable Substitutions 9.5.3 Template Commands 9.5.4 Conditional Processing 9.5.5 The .QUIF Command 9.5.6 Using 8-Bit Characters in Templates 9.6 Editing List-Level Default Templates 9.6.1 The INFO Template Form 9.6.2 DEFAULT MAILTPL Templates 9.6.3 Tips for Using Templates 9.7 Using the DAYSEQ(n) Function 9.7.1 Rotating Bottom Banner 9.7.2 Rotating FAQ via the PROBE1 Template and "Renewal= xx-Daily" 9.7.3 Calculating the Value for DAYSEQ() 9.8 Storing the <listname>.MAILTPL File on the Host Machine 9.9 DIGEST-H and INDEX-H Template Files 9.10 WWW Interface Templates and Template Forms 9.10.1 Web Forms (Static) Contained in DEFAULT MAILTPL 9.10.2 The WWW_ARCHIVE.MAILTPL File 9.10.3 The DEFAULT.WWWPTL File (Dynamic Templates) 9.10.4 The SITE.WWWTPL File 9.10.5 National Language Template Files (idiom.mailtpl) 9.10.6 Template Precedence 9.11 Serving Up Custom Web Pages for your List 9.11.1 A Practical Example: ADMIN_POST 9.12 Modifying the Output of LISTSERV's HELP Command (non-VM) 9.13 The $SITE$.MAILTPL File Section 10 Interpreting and Managing Log Files 10.1 Logs Kept by LISTSERV 10.2 Managing the Logs 10.2.1 Making Daily Logs 10.2.2 Cleaning Your Log Files 10.3 Interpreting the LISTSERV log 10.3.1 Expiring Cookies 10.3.2 Releasing and Reallocating a Disk Slot 10.3.3 Reindexing a List 10.3.4 Distributing a Digest 10.3.5 Daily Error Monitoring Reports 10.3.6 Processing Mail for Local Lists 10.3.7 Administrative Mail (X-ADMMAIL) 10.3.8 DISTRIBUTE Jobs from Remote Hosts 10.3.9 Requesting "OK" Confirmation for Commands 10.3.10 Subscription Summary Updates (SUPD Jobs) 10.3.11 Global List of Lists Updates (LUPD Jobs) 10.3.12 Valid "OK" Confirmation Received 10.3.13 Invalid "OK" Confirmation Received 10.3.14 User Already Subscribed to a Given List 10.3.15 Non-Command Text in Mailings to LISTSERV 10.3.16 Response to List Owner or LISTSERV Maintainer Commands 10.3.17 Response to Posts to a Held List or to a List with PRIMETIME 10.3.18 Command Forwarded via GLX from Another Host 10.3.19 Netwide DELETE (X-DEL Jobs) 10.3.20 FIOC Cache Notifications 10.3.21 Web Archive/Administration Interface Logging 10.3.22 X-SPAM Jobs 10.3.23 X-TBREG Jobs 10.3.24 Responses to LVMON@VM.SE.LSOFT.COM 10.3.25 MIME Parser Messages 10.3.26 Content Filter Rejection Message 10.4 Interpreting the SMTP Logs (Windows Servers Only) 10.5 Interpreting the SMTP Worker Log Entries (Non-VM Only) 10.6 Change Logs 10.7 Using LISTSERV Logs and SHOW CTR to Extract Server Statistics 10.7.1 Sample Log-Processing Scripts 10.7.2 Interpreting the Output of SHOW CTR 10.8 Using the System Changelog to Track Distributions 10.9 Logging Changelog Information to a DBMS Section 11 Using the Web Administration Interface 11.1 The Default LISTSERV Home Page 11.2 Logging In 11.3 Setting a LISTSERV Password 11.4 Logging In and Setting Preferences 11.5 List Maintenance via the Web Interface 11.5.1 Examining or Deleting a Subscription 11.5.2 Adding a New Subscriber to the List 11.5.3 Bulk Operations 11.6 List Configuration 11.7 Maintaining Mail and WWW Templates via the Web Interface 11.8 Sending Interactive Commands via the Web 11.9 Mail-Merge 11.10 Server Administration Interface Section 12 Distribution Features and Functions 12.1 Controlling the Default Level of Acknowledgement to User Postings 12.2 Controlling the Maximum Number of Postings Per Day 12.2.1 Controlling Total Postings to the List Per Day 12.2.2 Controlling the Number of Postings Per Day from Individual Users 12.3 Controlling "Prime" Time 12.4 "Holding" and "Freeing" a List 12.4.1 Automatic List Holds 12.4.2 Manual List Holds 12.5 Controlling the List Digest Feature 12.6 Defining List Topics 12.7 Allowing/Blocking MIME Attachments Section 13 Error Handling Features and Functions 13.1 Defining List-Level Error Handling Addresses 13.2 The Auto-Deletion Feature 13.3 LISTSERV's Loop Detection Feature 13.3.1 The Anti-Spamming Filter 13.4 RFC822 Mail Header Parsing 13.5 Address Probing 13.5.1 Active Address Probing 13.5.2 Passive Address Probing 13.5.3 OS-Specific Issues with Probing 13.6 Defining Server-Level Error Handling Addresses 13.6.1 BOUNCES_TO= 13.6.2 Crash Reports and CRASH_MONITOR= Section 14 List Maintenance and Moderation Features and Functions 14.1 Setting Up Edited/Moderated Mailing Lists 14.2 Restricting the Size of Messages Posted to the List 14.3 Restricting the Number of Posts Per User Per Day 14.4 Moving a List to a New Location (New-List= Keyword) Section 15 Security Features and Functions 15.1 The VALIDATE= Keyword 15.2 Controlling Subscription Requests 15.3 Controlling the Service Area of the List 15.4 Controlling Who Reviews the List of Subscribers 15.5 Controlling Access to the Notebook Files 15.6 Controlling Who Can Post Mail to a List 15.7 The "OK" Confirmation Mechanism 15.7.1 Explicitly Cancelling "OK" Cookies 15.8 Denying Service to Problem Users 15.8.1 The "Filter=" List Header Keyword 15.8.2 The "FILTER_ALSO" Configuration File Variable 15.8.3 The "SERVE" Command 15.8.4 The POST_FILTER List Exit Point 15.9 Hiding Selected Header Lines 15.10 Tracking Subscription Changes with the Change-Log Keyword Section 16 Subscription Features and Functions 16.1 Setting Up Subscription Confirmation 16.2 Defining Default Options for Subscribers at Subscription Time 16.3 Setting Up Subscription Renewal Section 17 Other Features and Functions 17.1 Setting Up National Language Mail Templates 17.2 Translating Control Characters Included in List Mail 17.3 Communicating with List Owners 17.3.1 The Listname-REQUEST Alias 17.3.2 The ALL-REQUEST Alias 17.3.3 Required Configuration for Unix and VMS Servers Running PMDF 17.3.4 Other Aliases Used by LISTSERV Section 18 Special Functionality for ISP’s 18.1 Directory Quotas for Individual Lists 18.1.1 The QUOTA.FILE 18.1.2 Displaying Quota Information 18.1.3 Reloading Quota Information After Making Changes 18.2 Limiting the Number of Subscribers to a List Appendix A: Command Reference Card Appendix B: Sample Boilerplate Files Subscription Requests Sent to the List Sending Other Commands to the List or to the *-REQUEST Address for the List Unsubscribed User Still Getting Mail Quoted Replies Include Message Headers Causing them to Bounce Delivery Error with Unknown User Account Setting a User to DIGEST because of Bouncing Mail A Sample "Your List has been Created" Boilerplate