home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 35 Internet
/
35-Internet.zip
/
mlp09.zip
/
MLP.DOC
< prev
next >
Wrap
Text File
|
1995-07-18
|
30KB
|
751 lines
MLP - Mailing List Processor for OS/2 Version 0.9
==========================================================================
Edition: Third
Date: July 17, 1995
Author: Jivko Koltchev <jivko@ijs.com>
**************************************************************************
THIS DOCUMENT will help you understand what MLP is and how to make it
work for you.
Please read this document before you ever try MLP to avoid
any problems and possible damage to your system.
NOTICES: MLP is FREEWARE but that does not mean that you are allowed
to do everything you want with it.
COPYRIGHT 1994, 1995 by Jivko Koltchev All Rights Reserved.
Publication of this document or MLP software in any form
is expressly prohibited without the explicit permission of
the author. Any distribution of this program must include
both program and documentation without any modifications.
This program is available for you to use free of charge while
commercial sale or re-sale of this program is allowed only
with the approval of the author.
DISCLAIMER: No warranties or guarantees are expressed or implied. The
author assumes no liability for any damage or loss whatsoever
that may occur while this program is being used. The author
is under no obligation whatsoever to provide support of any
kind.
**************************************************************************
--------------------------------------------------------------------------
Contents:
1. History
2. Requirements
a) MLP for OS/2
3. Installation
4. Configuration
a) Configuration file
b) Home directories
c) Subscribe greetings
d) Unsubscribe message
e) Help Message
f) WHO list
g) Extensions
h) -digest and -request
5. How to run the program?
6. How to stop the program?
7. How does it all work?
a) Form the users' prospective
b) From your prospective
8. Support
9. Known problems
10.The latest version
11.Registration
12.The money
--------------------------------------------------------------------------
1. History
MLP was born from the need to process messages in an automatic way on
an OS/2 platform. MLP was meant to be as simple to use as possible, yet
offer all the power one would expect from a fully automated email
system. As more and more people made use of MLP, new features were
added, making the product more flexible and more powerfull. MLP can
handle multiple mailing lists. Users can now benefit from keyword
filtering, or from customized filters both global or list specific.
Digest support was also added in the latest version.
We have been using MLP for our own benefit for more that a year, and
have refined the package over time. We are listening very closely to the
MLP users accross the world, and will keep improving this package.
We will release a Windows NT, and Windows 95 version of MLP in the near
future, and will develop a graphical user interface make MLP even easier
to use. If you are interested in future releases of MLP, or would like
to see new features included, please do not hesitate to email to
mlp@ijs.com
____________________
2. Requirements
a) MLP for OS/2
MLP requires OS/2 2.x and IBM TCP/IP (It should work fine with
version 1.2.1 though I am currently using it with 2.0)
____________________
3. Installation
It is very simple to install and configure MLP. Here are the few steps
you will have to follow:
a) create a directory for your list processor (let it be MLP, for example)
b) copy mlp.exe in that directory.
c) you are all set. MLP is already installed on your system. You may
want to include your MLP directory in your PATH environment though
I do not recommend it.
d) You may also want to copy mlp2txt.exe and txt2mlp.exe in that
directory. You may need these utilities to manually edit the users'
database
NOTE: I assume you already have the IBM's TCP/IP package installed and
configured to receive and send E-mail messages.
____________________
4. Configuration ****
Unlike the previous version of the package this one allows for more
different things to be configured per each mailing list, however the
defaults are such that if you don't want to go into details you will not
have to do so.
Unfortunately there was a need for a change in the configuration file
format and you will have to rewrite your configuration file.
a) Configuration file
The new configuration file format resembles very much a Windows INI
file and consists of two type of sections:
- main section where some parameters could be specified
- sections for each mailing list MLP will have to support.
Note that there is a need for a blank line after each section
in the configuration file. Comments (Line starting with '#') are
not considered to be blank lines. The blank lines are considered
to be section separators and should be only used as such.
o. MLP section
The beginning of this section should be indicated by the following line:
[MLP]
I would recommend you keep this section on the top of the configuration
file, however it could be anywhere you want to place it. There are
several options you could specify there and they are:
- logfile
Usage: logfile = filename
where flename is the name of the log file MLP will use. There is not
default name for this option.
There is a maximum of one occurrence allowed for this option.
- frequency
Usage: frequency = seconds
where seconds is the interval in which MLP will be checking the
mail folder for new mail in seconds. The default is 60s.
There is a maximum of one occurrence allowed for this option.
- sleep
Usage: sleep = seconds
where seconds is the interval MLP will be idle between sending
messages to the world. The default is 0, however if you have
problems with sendmail use 2,3 or 4.
There is a maximum of one occurrence allowed for this option.
- filter
Usage: filter=filename
where filename is the name of a .CMD file which MLP will execute
against every e-mail regardless of whether it is addressed to an
e-mail list or not. There is no default name for this option.
There is a maximum of one occurrence allowed for this option.
- inbox
Usage inbox = filename
where filename is the full path name of the index file MLP will
be monitoring. By default MLP will use the ETC environmental
variable to locate sendmail.cf and will try to figure out the
location of your InBox index file from there.
There is a maximum of one occurrence allowed for this option.
- maildir -> reserved
- folders -> reserved
- mailer
Currently supported:
lamail
lamailfolder
pmmail *
ultimail **
- domainname
Usage: domainname = name
where name is the domain name for the computer hosting the
mailing list. MLP is normally able to figure that out but if you
environment is not set correctly or, which sometimes happens,
sendmail is having problems expanding list@host to
list@host.domain.name you would be better off using this option.
o. Any mailing list section
The beginning of a mailing list section should be indicated with the
following line after a blank line:
[list-name]
where list-name is the name of the e-mail list.
There are several options that MLP supports at this time:
- domain
Usage: domain = domain.name
where domain.name could be actually any string which represents
portion of the e-mail address of users whom MLP will permit
access to the mailing list. There is no default for this option.
There is no limit for the number of occurrence allowed for this
option.
- sysop
Usage: sysop = sysop@site.net
where sysop@site.net is the e-mail address of the mailing list's
administrator. All messages that are not processed because of
restrictions will be forwarded to the sysop. There is no default
for this option.
There is a maximum of one occurrence allowed for this option.
- password
Usage: password = yourpassword
Messages sent to restricted lists will be processed regardless of
the restrictions if they have 'Password: yourpasword' line in
the header. There is no default for this option.
There is a maximum of one occurrence allowed for this option.
- keywordsubject
Usage: keywordsubject = badword
where bad word is a word which if found in the subject will
force MLP to disregard the message. There is no default for this
option.
There is no limit for the number of occurrence allowed for this
option.
- keywordfrom
Usage: keywordfrom = banneduser
where banneduser is the e-mail address or portion of it (site) of
users which will not be allowed to post messages to the list.
there is no default for this option
There is no limit for the number of occurrence allowed for this
option.
- keywordbody
Usage: keywordbody = badword
where badword is a word which if found in the body of a e-mail
message will force MLP to disregard it. There is no default for
this option.
There is no limit for the number of occurrence allowed for this
option.
- filter
Usage: filter = filename
where filename is a .CMD file which MLP will execute against
every message to that mailing list with argument the name of the
file containing the e-mail message. The filter can modify that
file or can even delete it which will make MLP not to send
anything to the list.
filename should be located in the list's home directory.
The default for this option is list-name.cmd.
There is a maximum of one occurrence allowed for this option.
- broadcast
Usage: broadcast = token
where if token is 'no' no messages posted to this list will be
broadcasted to the other members of the list except for message
with correct password or messages posted by sysop. The default
is 'yes'
There is a maximum of one occurrence allowed for this option.
- subscribedusers
Usage: subscribedusers = token
where if token is 'yes' only users subscribed to the list will be
allowed to post messages to the list. Messages posted from other
accounts and without password will not be sent to the list. The
default is 'no'.
There is a maximum of one occurrence allowed for this option.
- receipt
Usage: receipt = token
where if token is 'yes' MLP will send file list-name\receipt in
response to successfully processed e-mail messages. If the file
does not exist MLP will create one for you. The default is 'no'.
There is a maximum of one occurrence allowed for this option.
- backup
Usage: backup = token
where if token is 'yes' all successfully processed messages will
be saved in directory list-name\backp. The default for this
option is 'no'
There is a maximum of one occurrence allowed for this option.
- autosubscribe
Usage: autosubscribe = token
where if token is 'no' MLP will not permit any users to subscribe
to the list automatically. The list administrator will have to
use txt2mlp.exe to add new users to the lsit. The default for this
option is 'yes'
There is a maximum of one occurrence allowed for this option.
- digest
Usage: digest = token
where if token is 'yes' MLP will be monitoring directory
list-name\digest for files *.out and every time such file appear
in that directory MLP will send it to the list using the firs
non-blank line in the file as a subject for the message. Processed
files will be renamed to files without .OUT extension.
The default for this option is 'no'
There is a maximum of one occurrence allowed for this option.
- enablewho
Usage: enablewho = token
where if token is 'yes' MLP will accept 'who' commands from
subscribed users, compile list of all the users subscribing to
that mailing list and send it back to whoever issued the command.
The default for this option is 'yes'
There is a maximum of one occurrence allowed for this option.
- enabletofield
Usage: enabletofield = token
where if token is 'yes' MLP will add To: filed to the outgoing
to the subscribers message with the following format:
"To: Multiple recipients of list LIST <LIST@SITE>",
If the token is 'no' then no To: field will be added to the
posted message. The default for this option is 'yes'
There is a maximum of one occurrence allowed for this option.
- footnote
Usage: footnote = token
where if token is 'yes' MLP will append to any out going mail
the text from file mailinglist\footnote.
The default for this option is 'no'.
There is a maximum of one occurrence allowed for this option.
b) Home directories
For every mailing list you will have to create a 'home' directory.
That directory should carry the name of the list and be located in
the MLP directory. MLP will be using that 'home' directory to store
temporary messages and will keep them there as long as needed. If
such a directory does not exist MLP will attempt creating it for you.
c) Subscribe greetings
Every mailing list should have a special file name 'subscribe' which
MLP will mail back automatically to every new member. The 'subscribe'
file should be located in the 'home' directory of the corresponding
mailing list.
On FAT partitioned drives the file name should be 'subscrib.e'
d) Unsubscribe message
Every mailing list should have a special file name 'unsubscribe'
which MLP will mail back automatically to every member indicating
termination of his or her membership. The 'unsubscribe' file should
be located in the 'home' directory of the corresponding mailing list.
On FAT partitioned drives the file name should be 'unsubscr.ibe'
e) Help Message
Every mailing list should have a special file 'help' in its home
directory. MLP will send that file back in response to e-mail to the
corresponding mailing list with one word 'help' in the Subject: line
f) WHO list
There is no need for a special file in the home mailing list
directory for the 'who' command to work. MLP will automatically
generate list of all users subscribed to the current mailing list
and send it back to the user who requested it.
g) Extensions
You can define your own set of commands that MLP will understand
and execute by creating appropriately named .CMD files and copying
them in the mailing list's 'home' directory.
When MLP comes across e-mail addressed to one of the supported
lists with subject line: "Subject: [command] arguments" it will
check the mailing list's directory to see if file command.CMD
exists and if so MLP will call that script file the following way:
"mlist\command.CMD mlist\response.file mlist\emailbody arguments".
Note that the response.file contains the message header and should
not be overwritten. command.CMD should only append information to
that file or delete it.
If the requested command does not exist MLP will first try to execute
script with name cmderror.cmd in the MLP's home directory (NOTE! not
the list's home directory) and if that script does not exist it will
create standard response message and send it back to the user. MLP
will start the cmderror.cmd script wit the following arguments:
"cmderror.cmd mlist\response.file command".
By the time MLP calls the CMD file the following lines will be saved
in the response file:
Errors-To: Errors@site
X-Listprocessor: Mail List Processor for OS/2, V0.8 -
Reply-To: mailinglist@site
To: sender;
From: mailinglist@site
Subject: Re: [command]
<blank line>
h) -digest and -request
MLP will process messages to list-request@site and list-digest@site but
will not send them to the members of the list.
____________________
5. How to run the program?
MLP can be started without any arguments. It will automatically locate
your sendmail.cf file (using the ETC variable) and find out where your
InBox resides. Thus MLP will be able to monitor all the incoming mail
and process it almost immediately.
If you do not want MLP to monitor your InBox but another folder instead
you can run MLP and as a first parameter specify the name of the
folder's index file. One may want to do it this way if one wants to
monitor the messages posted on the list and remove some of them from
time to time. If this is the case than you will have to move the
messages from your InBox to the specified folder so that MLP will be
able to process the messages.
You could also use the [MLP] section in the configuration file to point
MLP to the index file you want it to monitor. Be aware, however, that
the index file specified as argument at the command line overwrites the
one from the configuration file.
Most probably you would like to have MLP start automatically every time
you restart your system. The best place to do this is not your
STARTUP.CMD file because this way MLP will be started before the TCP/IP
has been initialized and if there are messages to be posted MLP will
start doing it right away. (MLP uses sendmail.exe to send its messages
so it doesn't really care if the network is up or not. Perhaps I should
change that but it will be in one of the future releases.) So the best
place to start MLP is at the end of your TCPEXIT.CMD file including the
following few lines: (If you don't have one = create it in the
tcpip\bin directory)
drive:
cd \MLP
MLP . mlp.log
I am sure you will find much better ways to do it but the above is
something that should work.
____________________
6. How to stop the program?
Hit <Esc> to kill the process.
____________________
7. How does it all work?
a) Form the users' prospective
- to subscribe a user will have to send e-mail to
mailing_list@your.host with subject 'subscribe' (one word only)
In confirmation the user will receive your 'subscribe' file.
- to unsubscribe a user will have to send e-mail to
mailing_list@your.host with subject 'unsubscribe' (one word only)
In confirmation the user will receive your 'unsubscribe' file.
- to receive some help a user will have to send e-mail to
mailing_list@your.host with subject 'help' (one word only)
The user will receive your 'help' file.
- to receive the list of all the users subscribed to the current
list a user should send e-mail to mailing-list@your.host with
subject 'who' [one word only].
- to post messages to all the subscribers a user will have to
send e-mail to mailing_list@your.host with any subject but
'subscribe', 'unsubscribe' or 'help'
b) From your prospective
- there will be a special data base file "mlusers" created in the
MLP directory. This file is very important. Make sure you do not
delete it by mistake.
Because of the way the data is stored in mlusers you may notice
that it doesn't change its size after some users have
unsubscribed. That is OK. MLP will not rewrite the file but
will try to make use of the available empty space the next time
someone subscribes to any list.
Unfortunately there is no utility that currently allows you to
edit the msusers file. However there are two utilities that will
allow you to convert the mlusers file into an ASCII text file and
the other way around. MLP2TXT.EXE will create mlusers.txt file
using the mlusers file in the current directory. TXT2MLP.EXE on
the other hand will take either mlusers.txt or the file from the
command line and will create or overwrite mlusers file. The
default output os MLP2TXT.EXE is mlusers.txt. Default input file
for TXT2MLP.EXE is file mlusers.txt however TXT2MLP.EXE will use
any other files supplied in the command line as firs argument.
The correct format for the mlusers.txt file is:
#comments
mailinglist user@site.net
mailinglist user@site.net
#comments
In case the data base file gets corrupted (It can happen if you
reset your computer without stopping the MLP process) the next
time you run MLP it will try to restore the musers file and work
with it. If you overwrite portions of that file, MLP may not be
able to restore it properly.
- when a message cannot be sent to its recipient MLP will keep
trying every hour to deliver the message for about 72 hours. At
the end the message will be discarded and the recipient removed
from the mailing list.
You could clean up the names of the files that need to be resent
by executing mlp2txt.exe and txt2mlp.exe in a roll.
____________________
8. Support
There are currently several ways you could get support for MLP:
- email
Send e-mail to one of the following e-mail addresses:
mlpsupport@ijs.com
jivko@netcom.com
jivko@ijs.com
- mailing list
mlp@ijs.com is a mailing list which is dedicated to MLP related
topics. That mailing list is supported by the latest version of
MLP so you should already know how to subscribe to it.
(Just in case - send e-mail to mlp@ijs.com with 'subscribe' as
message subject.)
- WEB page
Check out the MLP web page http://www.ijs.com/mlp.html for
some fresh information and hints on using MLP. There you will
find all additional information and filter scripts which were not
included in the released ZIP file.
____________________
9. Known problems
- It may not be a good idea to subscribe to any of the mailing lists
from the machine on which you are running MLP. Somehow sendmail
doesn't always behave very nicely when sending E-mail to itself. I
have an idea what the problem might be and will hopefully fix it in
the next release.
- *.ogm files (temporary files which MLP uses and stores in the home
directory of each mailing list) will some times not be deleted even
though they were sent to all subscribers of the list. This is not a
big problem since next time MLP processes some e-mail for that mailing
list it will delete them.
- It has been reported that on heavily loaded systems MLP could lead to
corruption of the InBox.NDX file. This seems to be happening when MLP
is processing the mailing list while new messages are being read with
LaMail. The problem seems to be due to the way MLP updates the
InBox.NDX file - there is one brief moment of time during which MLP
deletes the InBox.NDX file and what I thing us happening is that if at
that point of time LaMail or Sendmail are able to create a new copy of
that file MLP will not be able to finish its job correctly...
NOTE: LAMPOP V1.1 has big potentials to corrupt you InBox.NDX file.
I do not know if there is a newer version of that product but since
I am now testing it in combination with mlp I thought it would be a
good idea to share this information here.
- Performance problems on heavily loaded systems. This problem will be
addresses in the next release. I encourage any one experiencing this
problem and is willing to test alfa releases to send me e-mail so I
could forward to him or her a copy of MLP as soon as the new code is
implemented.
____________________
10.The latest version
There are currently several ways you could obtain the latest version of
MLP which include:
- email
You could send e-mail to mlp@ijs.com with 'Subject: [latest]' and
you will receive the latest version of MLP in uuncoded e-mail.
- ftp
You could ftp the latest version of mlp from the following
directory:
ftp://ftp.ijs.com/MLP
- www
You could also try to get the latest version of MLP using the
following web page:
http://www.ijs.com/mlp.html
____________________
11.Registration
It is not required but recommendable for you to register as a MLP user
by sending the following form to mlpuser@ijs.com
Name:
Company:
Telephone:
Fax:
MLP version:
Number of mailing lists supported using MLP:
E-mail address:
Send me BETA releases: [Yes]/[No]
Send me upgrades: [Yes]/[No]
Add me to the MLP mailing list: [Yes]/[No]
The experience so far has shown it to be very difficult to keep track of
who is using MLP and keep those people up to date with what is going on
there with MLP and when new releases are coming out etc.
Several new releases have been scheduled for the next several months and
your help in testing them would be highly appreciated. By sending us
your registration e-mail you will be receiving every new release and
even BETA releases which will help develop a better product.
You could also register using the MLP web page:
http://www.ijs.com/mlp.html
____________________
12.The money
Feel free to contribute whatever you can without being obliged to do so.
Be warned however that I will not accept contributions exceeding the amount
of $1000 per site without strong motivation on your side.