[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

List Commands

Below is a list of commands with instructions. If you are in need of further instructions or more information on a particular command, please visit one of the links below the commands under "Where To Find More SmartList Information" or "Where To Find Basic SmartList Documentation".


  1. What does "uncomment" mean?
  2. How do I make replies go to the list instead of to the sender?
  3. How do I make the list Open/Closed?
  4. How do people subscribe/unsubscribe to the list?
  5. How do I subscribe/unsubscribe people to my list?
  6. How do I get a list of the subscribers?
  7. How do I use X-Command:?
  8. How do I change the admin password for my list?
  9. How do I turn a non-digest list into a digest?
  10. How often do digests get sent out?
  11. Can I force a digest to be sent every day, even if it is small?
  12. How can I add a message to the beginning of every digest?
  13. How can I restrict who can subscribe to my list?
  14. How can I restrict who can post to my list?
  15. How can I automatically subscribe people who post to the list?
  16. How can I automatically send files to new subscribers?
  17. How can I make my list moderated?
  18. How do I enable 'auto help'?
  19. How does someone access the archive server?
  20. How can I restrict who can access the archive server?
  21. How can I prevent certain people from automatic unsubscription?
  22. How can I disable automatic unsubscription?
  23. Can I add comments to the addresses in the dist file?
  24. How can I tell smartlist to notify me when someone subscribes/unsubscribes?
  25. How can I change the messages that smartlist sends to people?
  26. How can I add "[listname]" to all of the mailing list messages for easy filtering?
  27. How can I add a short message file to the top of all of the mailing list messages?
  28. How can I add a short message file to the bottom of all of the mailing list messages?
  29. How can I keep the automatically added messages from multiplying when people quote them all the time?
  30. How can I add a custom header to all of the mailing list messages?
  31. How can I remove some headers from all of the mailing list messages?
  32. How can I remove all of the X- headers from all of the mailing list messages?
  33. Where can I get smartlist?
  34. Is there a smartlist mailing list?
  35. Where can I find more SmartList information?
  36. Where can I find basic SmartList documentation?
  37. Can SmartList do subscriber confirmation?
  38. Is there an easy way to remove duplicates from the dist file?
  39. How can I keep people from sending htm/attachments/other junk to the list?
  40. Is there an archive of the mailing list?
  41. A list of X-commands

1. What does "uncomment" mean?

To uncomment a line in the file, remove the hashmark (#) from the front of the line (if there are more than one, be sure and remove them all), and change the value if necessary. For example, the moderate section in the standard distribution looks like this:
#moderated_flag
##moderated_flag=   yes    # uncomment this to make the list
                           # moderated (you must create a
                           # `moderators' file for this to work)
                           # set moderator_PASSWORD to get
                           # stricter checking
To turn your list into a moderated list, remove the two hash marks from the line that says "moderated_flag = yes", so the section now looks like this:
#moderated_flag
moderated_flag=   yes      # uncomment this to make the list
                           # moderated (you must create a
                           # `moderators' file for this to work)
                           # set moderator_PASSWORD to get
                           # stricter checking
Command List
2. How do I make replies go to the list instead of to the sender?

In the rc.custom file, uncomment the line:
reply_to = $listaddr
and set it to something like this:
reply_to = "Reply-To: $listaddr"
Although for various reasons this is discouraged, many people want it this way anyway (For more information on why this is discouraged, see

This link no longer works, we will attempt to locate the archive. If you happen find the correct link please let us know here
It was, at http://www.unicom.com/pw/reply-to-harmful.htm).

Command List
3. How do I make the list Open/Closed?

To make the list closed subscription (i.e. the maintainer has to approve subscriptions), uncomment the auto_subscribe line in rc.custom, and set it to read:
auto_subscribe = no
To make the list closed unsubscription, do the same thing with the auto_unsubscribe line.

Command List
4. How do people subscribe/unsubscribe to the list?

By sending a message to the listname-request address with the message 'susbscribe' or 'unsubscribe' in the body of the mail, if the list is open they will be added to it, if it is a closed list the request will be forwarded to the list maintainer.

Command List
5. How do I subscribe/unsubscribe people to my list?

By using the subscribe and unsubscribe X-Command. (see list of X-commands)

Command List
6. How do I get a list of the subscribers?

By using the showdist X-Command. (see list of X-commands)

Command List
7. How do I use X-Command:?

By adding an X-Command: header to an email message and sending it to the request address for your list, you can execute commands remotely, see the list of X-Commands for a list of possible X-Commands.

Command List
8. How do I change the admin password for my list?

The password is stored in the rc.custom file.

Command List
9. How do I turn a non-digest list into a digest?

You can configure a list to send out digests of accumulated submissions. In order to do so, simply uncomment the appropriate assignment to digest_flag in rc.custom. Digests are then sent out every so often depending on size and age of the accumulated messages.

Command List
10. How often do digests get sent out?

When it reaches a certain pre-set size limit (set in rc.custom), or it ages beyond the maximum age (3 days).

Command List
11. Can I force a digest to be sent every day, even if it is small?

Yes, by creating a file called .digest.force in your list directory, a digest will be sent out the next time that flush_digests is run, no matter how big it is (unless it is empty). You should have a crontab entry that runs flush_digests every day (if you want to send out a digest every day), if you want to force a digest every day, using .digest.force is not the way to go, since the file is deleted every time that flush_digests is run, if you really want digests every day, run flush_digests from cron with the -f (force) option.

Command List
12. How can I add a message to the beginning of every digest?

If you create a file named digest.admin in either the main directory of the digested list or in the archive/latest directory belonging to it, it will be picked up by the next flush_digests and included up front to the actual digest under the heading "Administrivia". The archive/latest/digest.admin file digested list will be automatically removed after the digest has been pushed out. The digest.admin file in the main directory of the digested list will not be removed and is included in every digest.

Command List
13. How can I restrict who can subscribe to my list?

There are four ways in which you can restrict who can subscribe to a list:

- You can put the addresses of unwanted subscribers on the so-called reject-list (the `reject'-file).
- You can create a program (e.g. a shell script) called "subscreen". It must be executable and will receive the mail address of the prospective subscriber as the first argument. If subscription for that address is allowed, the program must return with exit code zero. If subscription is disallowed, simply return with exit code one. A sample program is provided in the examples directory.
- You can completely disable automatic subscription by uncommenting the appropriate "auto_subscribe" line in rc.custom.
- You can completely disable automatic unsubscription by uncommenting the appropriate "auto_unsubscribe" line in rc.custom.

Command List
14. How can I restrict who can post to my list?

You can restrict submissions to people on the accept-list (the `accept'-file). Mail from anyone else will be passed on to the maintainer instead of being submitted. To enable this you have to uncomment the appropriate "foreign_submit" line in rc.custom. By default the accept file is hardlinked to the dist file (i.e. if submissions are restricted, only subscribers can do so). If you want to allow only an even more select group, delink the accept file and edit it to taste. If you'd like to have both the dynamic accept file and a static one, create a new file "accept2", it will be searched in addition to the regular accept file.

If, in addition to notifying the maintainer you want an automated reply to be generated to the submitter which was not in the accept file, then you can accomplish this by simply creating an accept.txt file. Its contents will (like the contents of the help.txt file) be returned to the submitter.

Command List
15. How can I automatically subscribe people who post to the list?

Instead of rejecting submissions by people not on the accept (dist) list, you can enable "force_subscribe". This will cause people submitting mails to the list to be autosubscribed to the list if they were not in the dist file.

Command List
16. How can I automatically send files to new subscribers?

You can create a file named "subscribe.files". It can contain any number of archive-server commands. The results (i.e. the files requested) will be sent to the new subscriber.

Command List
17. How can I make my list moderated?

First create a file named "moderators", it should contain the fully qualified mail addresses of all the moderators for this list (i.e. just local usernames are not sufficient, at least include an @host or host! ). Then uncomment the appropriate "moderated_flag" line in rc.custom.
From then on all mail that does not contain an "Approved: the_address_of_one_of_the_moderators" field is forwarded to all the moderators.

One of the moderators should then resend the mail to the list after adding an "Approved: his_own_address" field to the header (and possible editing the contents of the mail). It will be no problem if several moderators resubmit the same submission concurrently, since the mailing list will filter out duplicates anyway (i.e. only the first one will go out and be archived).

Command List
18. How do I enable 'auto help'?

By uncommenting the appropriate "auto_help" line in the rc.custom file the list will respond to every undecipherable request message as if it requested help. Messages that will still get through to the maintainer are those:

- that seem to come from a daemon.
- which look like a reply.

Command List
19. How does someone access the archive server?

By sending email to your listname-request address, with a subject of 'archive'.

Command List
20. How can I restrict who can access the archive server?

You can restrict archive access to people on the accept-lists (the `accept' and `accept2'-file). Mail from anyone else will be passed on to the maintainer instead of being passed to the archive server. To enable this you have to uncomment the appropriate "restrict_archive" line in rc.custom.

Command List
21. How can I prevent certain people from automatic unsubscription?

Everything in the dist file preceding the line containing: '(Only addresses below this line can be automatically removed)' is write protected from changes by multigram (i.e. these addresses can never be automatically/accidentally unsubscribed).

Command List
22. How can I disable automatic unsubscription?

By removing the line '(Only addresses below this line can be automatically removed)' from the dist file, automatic unsubscription will be disabled.

Command List
23. Can I add comments to the addresses in the dist file?

Yes, as long as the comments are one of the format:
Some sample entries:
(the preferred format):
joe@some.where
joe@some.where (some comment)
joe@some.where (some comment) (some more comments)

Depreciated, but allowed:
<joe@some.where>
<joe@some.where> some comment
<joe@some.where> (some comment)

Not allowed:
(some comment) joe@some.where
some comment <joe@some.where>
The email address must be the first thing on the line, and must be separated from the comments by a space.

Command List
24. How can I tell smartlist to notify me when someone subscribes/unsubscribes?

By setting the cc_requests or cc_unsubrequests variables in the rc.custom file to yes (making sure to uncomment it).

Command List
25. How can I change the messages that smartlist sends to people?

The messages that smartlist sends out are in the ~slist/listname directory, and can be edited using any available file editor. The files that it sends and their uses are:
help.txt Sent as a response to a help command, or if anything smartlist doesn't understand is sent to the listname-request address.
subscribe.txt Sent to new subscribers.
unsubscribe.txt Sent to someone who just unsubscribed.
archive.txt A description of how to use the archive server, and the commands it understands.


Command List
26. How can I add "[listname]" to all of the mailing list messages for easy filtering?

In your rc.custom file, uncomment the line that reads "RC_LOCAL_SUBMIT_10 = rc.local.s10", and make a file called "rc.local.s10" in your list directory, in that file put this:
---- Cut Here ----
SUBJ=`formail -zx Subject:`   # extract the subject
:0fw
* ! ^Subject:.*\[listname\]
* ! ^Subject:.Re: *
| formmail -I "Subject: [listname] $SUBJ"
---- End Here ----
Be sure to replace "[listname]" with what you would like to be at the beginning of the subject line.

Command List
27. How can I add a short message file to the top of all of the mailing list messages?

Uncomment the line "RC_LOCAL_SUBMIT_20 = rc.local.s20" from your rc.custom file, and add the following to your rc.local.s20 file:
#
# Adding a disclaimer in front of every mail:
#

:0 fhw
| cat - header.txt
You will also need to create a file called header.txt, which contains the text to add to the message (this file can be empty though, so you can create the files, but only fill them in when you need to add something)

Command List
28. How can I add a short message file to the bottom of all of the mailing list messages?

Uncomment the line "RC_LOCAL_SUBMIT_20 = rc.local.s20" from your rc.custom file, and add the following to your rc.local.s20 file:
#
# Appending a disclaimer to every outgoing mail:
#

:0 fbw
| cat - footer.txt
You will also need to create a file called footer.txt, which contains the text to add to the message (this file can be empty though, so you can create the files, but only fill them in when you need to add something)

Command List
29. How can I keep the automatically added messages from multiplying when people quote them all the time?

A small refinement here: if you add something like this:
#
# Appending a disclaimer to every outgoing mail:
#

:0 fbBw
* ! to unsubscribe
| cat - footer.txt
then (assuming that the phrase "to unsubscribe" appears in your footer.txt file), the footer won't be repeated if some bozo list member quotes an entire message without trimming the footer.

Command List
^ 30. How can I add a custom header to all of the mailing list messages?

Uncomment the line "RC_LOCAL_SUBMIT_20 = rc.local.s20" from your rc.custom file, and add the following to your rc.local.s20 file:
#
# Adding some custom headers (although it will work, this is not
# needed for Reply-To related headers, see the reply_to variable in
# rc.custom):
#

        :0 fhw
        | formail -i "X-Subliminal-Message: SmartList is great" \
           -I "X-Mailer: procmail, which is great too :-)"
Command List
31. How can I remove some headers from all of the mailing list messages?

Uncomment the line "RC_LOCAL_SUBMIT_20 = rc.local.s20" from your rc.custom file, and add the following to your rc.local.s20 file:
#
# To get rid of some headers:
#

        :0 fhw
        | formail -I X-Mailing-List: -I X-Mailer:
Command List
32. How can I remove all of the X- headers from all of the mailing list messages?

Uncomment the line "RC_LOCAL_SUBMIT_20 = rc.local.s20" from your rc.custom file, and add the following to your rc.local.s20 file:
#
# To get rid of all X- fields:
#

        :0 fhw
        | formail -I X-
Command List
33. Where can I get smartlist/procmail?

The latest version of Procmail and Smartlist can be found at:

ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/

Command List
34. Is there a smartlist mailing list?

Yes, to subscribe send a message to smartlist-request@Informatik.RWTH-Aachen.DE with the word "subscribe" in the body of the message.

There is also a digested version of the mailing list, which can be subscribed to by sending a message to smartlist-d-request@Informatik.RWTH-Aachen.DE, with the word "subscribe" in the body of the message.

Command List
35. Where can I find more SmartList information?

SmartList Utilities and Patches - send email to alan.stebbens@software.com with the subject "send smartlist library".

Command List
36. Where can I find basic SmartList documentation?

The smartlist distribution comes with a rather detailed manual in the main directory.

Download it here

Command List
37. Can SmartList do subscriber confirmation?

Subscriber confirmation usually consists of a message that is sent to anyone who wants to subscribe to the mailing list, this message must be returned in order to subscribe to the list, thus verifying that the person who sent the subscribe command is the person that the message will be delivered to, there are a few different subscription confirmation systems for SmartList, which can be found at the following URL.

Werner Reisberger's confirm script

Command List
38. Is there an easy way to remove duplicates from the dist file?

This script was contributed to the SmartList mailing list by mark Mark David McCreary, you can run this from your list directory (where the dist file is located), and it will remove the duplicates and sort the entries that appear below the "(Only addresses below this line can be automatically removed)" line.

#! /bin/sh
:
#
#   rc.dedup.list
#
#   mdm 11/5/97   borrow code from  David W. Tamkin, with additional
#                 suggestions from Martin Konold and Hal Wine
#
#
#  This script will sort and remove duplicates from a Smartlist
#  distribution file.  Smartlist dist files contain a comment line
#  that looks like this
#
#      (Only addresses below this line can be automatically removed)
#
#  Addresses above and including this line will not be sorted.
#


lockfile=lockfile   # /usr/bin/lockfile
cat=cat             # /bin/cat
rm=rm               # /bin/rm
sed=sed             # /bin/sed

#  create lock file to discourage smartlist running a job

$lockfile -10 -l3600 -r11 -s30 rc.lock

$sed -e "1,/(Only addresses below this line can
 be automatically removed)/{
;w slabove.$$
;d;
}
" dist | sort -fu -o slbelow.$$

$cat sl?????.$$ > dist
$rm -f sl?????.$$

$rm -rf rc.lock
Command List
39. How can I keep people from sending htm/attachments/other junk to the list?


Command List
40. Is there an archive of the mailing list?

This link no longer works, we will attempt to locate the archive. If you happen find the correct link please let us know here

It was, at http://www.cnr.berkeley.edu/~casterln/smartlist-arc/maillist.htm.



Command List
41. A list of X-commands.

The format for the X-Command header is:
X-Command: joe@somewhere.edu password command

"command" can be anything of the following:

subscribe mailaddress Subscribe mailaddress to the list
unsubscribe mailaddress Unsubscribe mailaddress from the list
checkdist mailaddress To multigram-match mailaddress to the list (showing the eight best matches)
showdist To list the distfile
showlog To list the log
wipelog To clear the log
help To show this command summary
info Ditto

The exact fieldname defaults to "X-Command", but can customizedsed to whatever you want.

The "joe@somewhere.edu" is always the mail address of the maintainer. Note that this has to match what was specified on the command line of "createlist" when the list was created.

Note that the X-Command: field has to be part of the header, when it's in the body of the mail, it has no effect.

Anytime an X-Command: mail has been processed, the results will be mailed back to the maintainer of the list, and the X-Command: field will have been renamed to X-Processed:.

Although this remote-facility is convenient, some might argue that it presents a security hole. Well, in order to make this hole as small as possible, you can keep the password secret. Also, the exact mailaddress of the maintainer might not be publicly known. You can simply change the X-Command field into something else like X-MyCommand. Above all, since faking mail is a well known possibility it would be ridiculous to take more precautions than these. Besides, if someone indeed manages to sneak in a bogus X-Command:, it will never go unnoticed since the mailing list maintainer (and only the maintainer) will always receive the X-Processed: mail.

Command List

 

[an error occurred while processing this directive]