Support Manual

Mailing Lists
Before using your mailing list
you must first install the Smartlists software on your domain. This is done by
entering your control panel and clicking on the Mailing List icon. Once inside
the Mailing List section, 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.
Creating
A Mailing List
Once the software is installed,
you create your list(s) 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"
under a new heading for "Mailing List".
Click the New List link to
create the list.You'll
see the following screenshot.
Before you can edit or administer
your list, you must first provide the system with the Maintainer's email address,
the Maintainer's password, and the type of email list you want.
The Maintainer is the person
who has permission to edit and administer the list.
Types of lists:
Open List - anyone can send
email to the list
Closed List - only subscribers
can send email to the list
Newsletter - only the maintainer
can send email to the list
Moderated List - anyone can
send email to the list but all emails go to the moderator for approval before
they go to the entire list
After you fill
in the above information and click the "Add List" button, you'll see
some quick start information on how to subscribe to the list, etc. (These instructions
appear under the Quick Start Guide below.)
Administering your Mailing
List

Editing your
Mailing List

Quick Start Guide
To send an email to
your list subscribers:
send an email to listname@yourdomain.com
Subcription/unsubscription/info
requests: should always be sent to the -request address of a mailinglist.
If a mailinglist, for example, is called "thelist@somedomain.com", then
the -request
address can be inferred from this to be: "thelist-request@somedomain.com".
To subscribe
to a mailinglist: simply send a message with the word "subscribe"
in the Subject field to the -request address of that list.
As in: To: thelist-request@some.domain Subject: subscribe
To unsubscribe
from a mailinglist: simply send a message with the word (you guessed
it :-) "unsubscribe" in the Subject: field to the -request address of
that list. As in:
To: thelist-request@some.domain Subject: unsubscribe
In the
event of an address change: it would probably be the wisest to first
send an unsubscribe for the old address (this can be done from the new address),
and then a new subscribe for the new address (the order is important). Most (un)subscription
requests are processed automatically without human intervention.
Do not send multiple (un)subscription or info requests in one mail. Only one will
be processed per mail.
NOTE: The -request
server usually does quite a good job in discriminating between (un)subscribe requests
and messages intended for the maintainer. If you'd like to make sure a human reads
your message, make it look like a reply (i.e. the first word in the Subject: field
should be Re: the -request server does not react to replies.
Every submission
sent to this list is archived. The size of the archive depends on the limits set
by the list maintainer (it is very well possible that only, say, the last two
mails sent to the list are still archived, the rest might have expired). You can
look at the header of every mail coming from this list to see under what name
it has been archived. The X-Mailing-List: field contains the mailaddress of the
list and the file in which this submission was archived. If you want to access
this archive, you have to send mail to the -request address with the word "archive"
as the first word of your Subject.
To get
you started, try sending a mail to the -request address with Subject:
archive help
Location
Of Files To Edit For Your Mailing List
Now your mailing list is ready
to be customized to your needs. Before you can add commands to your list, you
need to know where the files are to edit and 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 download them to your own PC and edit them
as a text file. If you download 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. Following is a screen shot of what your list directory will
look like if viewing it from the control panel. We've created a list named "friends"
that we are using as an example.
Click
the name of your list to see its files:
SmartList
is capable of handling subscriber lists upwards of 90,000. There are a few things
to be aware of:
1. A large list
will take hours to send out, on occasion even over a day, this is not due to SmartList
capablities, but to the nature of sendmail and procmail and the handling of bounced
mail.
2. It will generate
a correspondingly large volume of bounced mail.This bounced mail may need special
handling not to choke the list admin's mail box.
3. It is a good
idea to refer to the list's documentation and to the SmartList mailing list and
archives for information on handling the hugh volume of bounces and for optimization
tips for large lists before setting out.
URL's to more
information:
The Smartlist
FAQ
http://www.animalgenome.org/SmartList/FAQ.html
Also helpful:
http://www.procmail.org/
List
Commands
You can apply commands to your
list by editing the files as indicated above.
Below is a list of commands
with instructions.
- What does "uncomment"
mean?
- How do I make
replies go to the list instead of to the sender?
- How do I make
the list Open/Closed?
- How do people
subscribe/unsubscribe to the list?
- How do I subscribe/unsubscribe
people to my list?
- How do I get
a list of the subscribers?
- How do I use
X-Command?
- How do I change
the admin password for my list?
- How do I turn
a non-digest list into a digest?
- How often do
digests get sent out?
- Can I force
a digest to be sent every day, even if it is small?
- How can I add
a message to the beginning of every digest?
- How can I restrict
who can subscribe to my list?
- How can I restrict
who can post to my list?
- How can I automatically
subscribe people who post to the list?
- How can I automatically
send files to new subscribers?
- How can I make
my list moderated?
- How do I enable
'auto help'?
- How does someone
access the archive server?
- How can I restrict
who can access the archive server?
- How can I prevent
certain people from automatic unsubscription?
- How can I disable
automatic unsubscription?
- Can I add comments
to the addresses in the dist file?
- How can I tell
smartlist to notify me when someone subscribes/unsubscribes?
- How can I change
the messages that smartlist sends to people?
- How can I add
"[listname]" to all of the mailing list messages for easy filtering?
- How can I add
a short message file to the top of all of the mailing list messages?
- How can I add
a short message file to the bottom of all of the mailing list messages?
- How can I keep
the automatically added messages from multiplying when people quote them all the
time?
- How can I add
a custom header to all of the mailing list messages?
- How can I remove
some headers from all of the mailing list messages?
- How can I remove
all of the X- headers from all of the mailing list messages?
- Where can I
get smartlist?
- Is there a smartlist
mailing list?
- Where can I
find more SmartList information?
- Where can I
find basic SmartList documentation?
- Can SmartList
do subscriber confirmation?
- Is there an
easy way to remove duplicates from the dist file?
- How can I keep
people from sending HTML/attachments/other junk to the list?
- Is there an
archive of the mailing list?
- 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 to 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
Top of page
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
http://www.unicom.com/pw/reply-to-harmful.html
Top of page
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.
Top of page
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. The email address to
subscribe or unsubscribe would look something like this: listname-request@mysite.com
Top of page
5. How do I
subscribe/unsubscribe people to my list?
By using the subscribe and
unsubscribe X-Command. (see list of X-commands) or by simply adding or deleting
their email addresses from the dist file in your listname folder in yourdomain-mail
directory.
Top of page
6. How do I get
a list of the subscribers?
By using the showdist X-Command.
(see list of X-commands)
Top of page
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.
Top of page
8. How do I change
the admin password for my list?
The password is stored in the
rc.custom file.
Top of page
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.
Top of page
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).
Top of page
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.
Top of page
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.
Top of page
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.
Top of page
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.
Top of page
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.
Top of page
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.
Top of page
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).
Top of page
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.
Top of page
19. How does someone
access the archive server?
By sending email to your listname-request
address, with a subject of 'archive'.
Top of page
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.
Top of page
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).
Top of page
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.
Top of page
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.
Top of page
24. How can I
receive notification 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).
Top of page
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. |
Top of page
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.
Top of page
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)
Top of page
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)
Top of page
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.
Top of page
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 :-)"
Top of page
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:
Top of page
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-
Top of page
33. Where can
I get smartlist/procmail?
The latest version of Procmail
can be downloaded using the link below:
ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/procmail.tar.gz
The latest version of Smartlist can be downloaded using the link below:
ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/SmartList.tar.gz
Top of page
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.
Top of page
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".
Top of page
36. Where can
I find basic SmartList documentation?
The Smartlist FAQ is at http://www.hartzler.net/smartlist/SmartList-FAQ.html
Top of page
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's.
confirm
1.1 by Michelle Dick
Werner Reisberger's confirm script
Top of page
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
Top of page
39. How can I
keep people from sending HTML/attachments/other junk to the list?
We have not located this information
as of yet.
Top of page
40.
Is there an archive of the mailing list?
Yes, at http://www.cnr.berkeley.edu/~casterln/smartlist-arc/maillist.html.
Top of page
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.
Top of page