Smartlist FAQ


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

^ 1. 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
http://www.miranova.com/~steve/reply-to-harmful.html).

^ 2. 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.

^ 3. 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.

^ 4. How do I subscribe/unsubscribe people to my list?
By using the subscribe and unsubscribe X-Command

^ 5. How do I get a list of the subscribers?
By using the showdist X-Command.

^ 6. 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 X-Command page for a list of possible X-Commands.

^ 7. How do I change the admin password for my list?
The password is stored in the rc.custom file.

^ 8. 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.

^ 9. 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).

^ 10. 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.

^ 11. 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.

^ 12. How can I restrict who can subscribe to my list?
There are three 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 exitcode zero. If subscription is disallowed, simply return with exitcode 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.

^ 13. 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.

^ 14. 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.

^ 15. 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.

^ 16. 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 mailinglist will filter out duplicates anyway (i.e. only the first one will go out and be archived).

^ 17. 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.

^ 18. How does someone access the archive server?
By sending email to your listname-request address, with a subject of 'archive'. More information on the commands the archive server understands is available on the archive page.

^ 19. 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.

^ 20. 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).

^ 21. 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.

^ 22. 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.

^ 23. 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).

^ 24. 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.txtSent as a response to a help command, or if anything smartlist doesnt understand is sent to the listname-request address.
subscribe.txtSent to new subscribers.
unsubscribe.txtSent to someone who just unsubscribed.
archive.txtA description of how to use the archive server, and the commands it understands.

^ 25. 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: *
| formail -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. (Posted to SmartList@Informatik.RWTH-Aachen.DE by Leigh Wolenczak ).

^ 26. 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)

^ 27. 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)

^ 28. 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 fbw
* ! 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. (Answer submitted by Doug Landauer)

^ 29. 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 :-)"

^ 30. 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:

^ 31. 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-

^ 32. Where can I get smartlist/procmail?
The latest version of Procmail can be found at: ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/procmail.tar.gz
The latest version of Smartlist can be found at: ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/SmartList.tar.gz

^ 33. 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.

^ 34. Where can I find more SmartList information on the web?
SmartList Utilities and Patches

^ 35. Where can I find basic SmartList documentation?
The smartlist distribution comes with a rather detailed manual in the .etc directory, which you can also find at http://www.mindwell.com/smartlist/smartlist.txt.

^ 36. 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's.
confirm 1.1 by Michelle Dick.

^ 37. Is there an easy way to remove duplicates from the dist file?
This script was contributed to the SmartList mailing list by 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

^ 38. How can I keep people from sending HTML/attachments/other junk to the list?
Several good recipes for this have been posted to the smartlist mailing list, since they tend to be rather large, I have put them in separate files from the main faq, with links listed here:



Web hosting Co-Location Dialups Shell Dedicated
Domain Name Support Policy About Home


This page is Copyright© 1998 The Internet Hardlink Co
28 South Main Street,129, Randolph, MA 02368
Telephone: (781) 961-4982, Fax: (781) 961-4981
Email: webmaster@hardlink.net