home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
ONLINE
/
IMPRO
/
STEWARD.ZIP
/
Steward.txt
< prev
Wrap
Text File
|
1996-06-03
|
10KB
|
225 lines
Steward -- A Mailing List Server in Rexx by Paul Hethmon
Here's some basic info on how Steward works.
Steward is modeled after the Unix Majordomo mailing list
software. It's not dependent on sendmail to do the bulk
of its processing though. If you've used Majordomo before,
then you'll find Steward very similar in configuration.
The big difference is that the alias file changes are not
necessary. The only thing you'll need to define are the mailing
accounts you want Steward to receive mail at. These can be
actual accounts or aliases as long as a couple of things
hold true.
The first is that Steward expects two command line arguments
passed to it. The first is the username the mail was delivered
to. This could be a list name or the administration name (usually
Steward). The second argument expected is a filename where the
mail message can be found. This should be a temporary file. Steward
will delete it when it's done.
Steward requires you to define one environment variable: STEWARD_CF.
Steward looks for this environment variable to find out where its
configuration file lives. The configuration file must be called
"steward.cf". The example configuration file is fairly self
explanatory. Each list also requires a configuration file called
"listname.cf" where "listname" is the name of the list.
Please also note that Steward * REQUIRES * HPFS at present. It could
be made to work with short filenames, but that is left to the individual
user. I highly recommend HPFS.
The basic file tree necessary to run Steward was created when you
unzipped the archive. The lists live in a subdirectory of the
Steward home directory called "Lists". Inside this directory you must
create a directory the same name as the list you're creating. Inside
that directory, create the listname.cf configuration file. The location
of the "Lists" directory may be specified in the steward.cf file.
You must also put four rexx scripts "lockopen.cmd", "lockclose.cmd",
"lock.cmd", and "unlock.cmd" somewhere on your path. Steward needs
access to these scripts before it finds its home directory. You may
either put them in a directory already in your path statement or add
the Steward directory to your path statement in the config.sys
file (You must reboot if you do this for it to take effect).
In order to send mail, Steward needs a mailing program to send on
its behalf. As configured, Steward will send mail by starting the
program listed in the "mailer" variable. It will pass to it 3 arguments.
The first is the name to be used as the FROM name during the SMTP
connection. The second is a file containing a list of email addresses
to send mail to, one per line. The third is the message file to send.
// ------------------------------------------------------------------
The Basic Configuration Steps
1. Unzip the steward archive wherever you would like.
2. Add the statement:
SET STEWARD_CF=c:\steward
to your config.sys file. The directory "c:\steward" should
be replaced with the directory from step 1.
3. Modify the steward.cf file as necessary. It is self-explanatory.
4. Create two email accounts:
Steward
Steward-owner
Both should be set up to call the Steward.cmd file when
mail is received. Steward expects two arguments, the username
the message is for and a temporary filename containing the
message. Steward will always delete the temporary file after
processing it.
5. Place the following programs and rexx scripts somewhere on your
path:
HMailer.exe
lockopen.cmd
lockclose.cmd
lock.cmd
unlock.cmd
Alternately, the steward directory may be placed on the path
statement in the config.sys file.
6. Reboot your machine to have the config.sys file changes take effect.
7. Create lists as needed.
// ------------------------------------------------------------------
How to Set Up a List
To create a list, you need to do a few things. First, create 3 email
accounts. They will be (substituting your listname for "list")
list For messages
list-request Admin requests for this list
list-owner For requests sent to the list owner (and error messages)
The list-request address is not required. If it is not present, then users
will need to send all admin requests to the steward address.
Each of these accounts should have Steward listed as the local process
delivery agent. Steward will figure out who the mail message is to. You
should already have a "steward" email account configured to start Steward
as the local process delivery.
Now, in the ListDir directory as specified in the steward.cf file, create
a directory with the name "list" (substituting your listname). In it, create
with a text editor a "list.cf" configuration file. Use the sample one included
for a model. Most fields should be self-explanatory.
In order to archive a list, create a sub-directory off of the list directory
called "Archives" and set the DoArchive flag to 1 in the "list.cf" file.
Archives are stored on a monthly basis. Each month will have it's own file
in the archives directory of the form "YY.MM" where YY is the 2 digit year
and MM is the two digit month. New messages are appended to the end of the
file with a separator line between.
You may also create a file in the list directory named "list.info" (again
substituting your listname) which will be sent in response to a list command
if the list is advertised.
Now you're ready. Steward will create the file with the list email addresses
in it as necessary.
// ------------------------------------------------------------------
What About a Moderated List?
Steward supports a moderated list also. Just set the Moderated flag
to 1 in the "list.cf" file for your list. Then set the ApprovePassword
to whatever password you like.
When Steward receives a message for that list, it will forward it to
the ListOwner address in the "list.cf" file. This address should be a
standard Internet email address of the form "username@host.domain". There
should be no quotes, parenthesis, or anything else on the line. Steward
will pull the senders name, subject, and reply-to addresses out of
the original message and put them at the top of the message to the ListOwner
for reference. It will also add the "Approved:" heading as the first line
for you to add your password to.
*** IMPORTANT ***
The "Approved:" heading must be on the first non-blank line of
the message body or the message will be forwarded again to the ListOwner.
When an approved message does come in, Steward will strip the approved
password and header from the outgoing message.
// ------------------------------------------------------------------
What about Digests?
Digests are supported and simple to set up. In your list directory, just
create a sub-directory called "Digests" and modify the "list.cf" file
to have "DoDigest = 1". That's all there is to it.
Steward maintains a separate subscription list for the digest. It is
possible to subscribe to both the regular list and the digest. Any message
sent to the list will be saved in the digest for the day.
In order to help support the digest function, it's recommended you create
an additional email account called "list-digest". Messages to this account
will be echoed to both the regular list and the digest list. The account
is not necessary, but some folks expect digests to have an address of this
sort. Remember to have Steward listed as the local process agent.
Digests are maintained on a daily basis. Each 24 hour period is saved to
its own file. On a daily basis, the "digest.cmd" rexx script needs to be
run to send out the digest. Whenever it is run, it will send the digest
for the *previous* day. The usual way to do this is to have the digest sent
out at 1:00 am or 2:00 am local time for the previous days messages. You can
set the digest.cmd to be run as a result of a "cron" job or any other program
that can schedule jobs to be run at arbritrary times.
A simple rexx script called "SendDigest.cmd" is included to send out the
digest at 1:00 am each day. This script must be started in the Steward
home directory and will continue to run until you kill it. Most of the time,
it is in a sleeping state, so no cpu cycles are wasted. You may also want
to put a program object pointing to this script in your startup folder in case
your machine reboots.
When the "digest.cmd" script is run, it expects one command line
argument, the name of the digest to send. The name should be of the
form "list-digest". It must be run once for each digest you wish to
send out.
Several configuration options pertaining to lists are supported and
are documented in the per-list configuration file. They should be
self-explanatory.
// ------------------------------------------------------------------
Working with NeoLogic Inet.Mail for OS/2
Steward comes configured to work with NeoLogic Inet.Mail for OS/2. Just
create the appropriate accounts (Steward, etc) as users and then
put the steward.cmd pathname as the local process delivery option.
Maild will then start Steward with the correct arguments.
For Steward to deliver mail, NeoLogic Inet.Mail supplies a simple mail
forwarding program called HMailer.exe. This program should be located
in a directory on your PATH (as defined in the config.sys). Alternately,
you can put the full pathname in the steward.cf file. Hmailer will forward
the mail to the SMTP daemon on the machine it is running on. This means
Inet.Mail must be running (which shouldn't be a problem, it has to be
running to start Steward anyway).
// ------------------------------------------------------------------
Other Caveats
Steward is written in Rexx. Anything you want to change can be
accomplished easily.
Steward requires HPFS.
Remote configuration is not yet supported.