Installing The SmartLists Software
Before using your mailing list you must first install the
Smartlists software to your account. This is done by entering
your control panel and clicking on the Mailing List option. Once
inside the Mailing List option you will see a button that you
need to click to install the software to your account. It will
take approximately 10 minutes for the server to install the
software to your account.
Creating A Mailing List
Once the software is installed you create your lists from inside
the Mail Manager in your Control Panel. After you have installed
the software you will see a link inside your Mail Manager named
"New List", click it to create the list.
After you click add to create your list, you will be taken to
a new window giving you a somewhat poor description of your
list, just click on the Home link in the upper left hand corner
of the screen to return to the Mail Manager. Once you return to
the Mail Manager, you will see the name of your new list.
Assigning
A List Administrator (Maintainer)
Before you
can edit or administer a list, you must first provide the
system with the Maintainers email address, the Maintainers
password, and the maximum number of emails that can be stored
in archive.
Maintainer = the person who has permission to edit and
administer the list.
To provide this information click on the list name and you
will be taken to a new screen where you provide the
maintainers information. Once you fill in the needed
information, you will need to click on edit. The system then
provides you with the name of the file that you can edit. We
will get into editing the files below.
Location
Of Files To Edit For Your Mailing List
So far you've learned how to install the mailing list software,
create list, and assign a maintainer to the list. Now the list
is ready to make it do all the neat little tricks lists can do
in order to work the way you need them to. Before you can add
commands to your list, you need to know where the files are that
you edit to apply the commands to.
The location of the files that you will edit for your mailing
list are located in this directory: /home/yourdomain/yourdomain-mail/nameoflist/.
You can either edit these files from inside the File Manager of
your Control Panel or upload them to your own PC and edit them
as a text file. If you upload these files to your hard drive to
edit, remember to FTP them back to your account in ASCII mode.
Each file located inside your list directory contains
instructions for editing and should be read carefully prior to
editing.
List
Commands
Now you are
ready to apply commands to your list by editing the files as
indicated above. 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".
"Uncomment"
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
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.unicom.com/pw/reply-to-harmful.html).
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.
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.
How
do I subscribe/unsubscribe people to my list?
By using the subscribe and unsubscribe X-Command. (see list of
X-commands)
How
do I get a list of the subscribers?
By using the showdist X-Command. (see list of X-commands)
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.
How
do I change the admin password for my list?
The password is stored in the rc.custom file.
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.
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).
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.
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.
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.
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.
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.
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.
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).
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.
How
does someone access the archive server?
By sending email to your listname-request address, with a
subject of 'archive'.
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.
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).
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.
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.
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).
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. |
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 ----
If you are having difficulties using the above code in the
file, you might choose to use this instead:
--- Cut Here ---
:0f
* !digest_flag ?? y
* $!^Subject:.*\\[listname\\].*
* ^Subject:\/.*
| formail -I "Subject: [listname]$MATCH"
--- End Here ---
Be sure to replace "[listname]" with what you would like
to be at the beginning of the subject line.
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)
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)
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.
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 :-)"
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:
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-
Where
can I find more SmartList information?
SmartList Utilities and Patches - send email to mailto:alan.stebbens@software.com?subject=send
smartlist library with the subject "send smartlist
library".
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.hartzler.net/smartlist/.
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.
Werner Reisberger's
confirm script
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
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 customized
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.
Click here to go back to previous
page.
|