Welcome to McList 2.10!
==============================================================================
1.0.0 -- Welcome to McList 2.00 -- The PM Mailing List Processor for OS/2!
==============================================================================
McList is a fully-functional mailing list processor that's fast,
easy to use, and downright simple. You never have to muck with
configuration files or do any of the other unfriendly things all the
other mailing list processors make you do.
It's also secure! McList allows you to ban users from the list,
password protect any functions you wish, and even preview messages
before they leave your system.
McList is a full-blown mailing list that you run out of your
personal e-mail account or even act as an information server!
===========================================================================
1.1.0 -- Contents
===========================================================================
1.0.0....Introduction
1.0....Contents
2.0....What is SBCdev?
3.0....What's McList Do?
4.0....What do I need to run McList?
5.0....Installation
6.0....Assumptions made by this documentation about the reader
2.0.0....Interface and Support Utilities
1.0....The interface
1....The Interactive LogBox
2....The ProcD Statusline
3....The SendD StatusLine
4....The RecvD StatusLine
5....The Tools Menu
6....The Edit Menu
7....The Canned Reply Menu
8....The Config Menu
9....The View Menu
2.0....The support utilities
1....McMail
2....McEdit
3....Mcfile
4....The List Editor
3.0.0....Daemons and background processing threads
1.0....ProcD
2.0....SendD
3.0....RecvD
4.0....FSafD
5.0....WorkR
4.0.0....Using McList
1.0....McList's Built-In Functions
2.0....Security
3.0....Flood Control
4.0....The Meta system
5.0....Command line options
6.0....McList's Scripts
1....Orphan.Cmd
2....NoAction.Cmd
3....BadSub.Cmd
5.0.0....Loose Ends
1.0....Support
2.0....Registering
3.0....Legal Mumbo-Jumbo (MUST READ!)
Appendices:
A.0.0....Integrating McList with PM Mail
B.0.0....Integrating McList with OS/2 SendMail v2
===========================================================================
1.2.0 -- What's SBCdev?
===========================================================================
SBC Development is a software company I work for. We write custom OS/2
applications for our clients, as well as dabble in 3D rendering. We
specialize in DB2/2 applications.
===========================================================================
1.3.0 -- What's McList do?
===========================================================================
+ McList runs a mailing list out of your personal E-Mail account without
a big hassle, or it can act as a standalone, exclusive mailing list.
+ McList can receive mail via command line, POP3, or external program.
+ McList can send mail via external program or SMTP. Routing and direct
send are supported.
+ Automatic subscribing, unsubscribing, and submitting of messages.
+ Users can request a copy of the faq.
+ McList can act as an information server via the Get/SetInfo functions.
+ A standard header and footer across all outbound messages.
+ Automatic sending of canned replies
+ Definable subject matching
+ Detailed logging!
+ Automatic submission numbering!
+ Slicker-n-snot PM interface!
+ An integrated message manager (McFile), mail client (McMail, and text
editor (McEdit).
+ Much, much, much, much more!
===========================================================================
1.4.0 -- What do I need to run McList?
===========================================================================
+ 32bit OS/2. Tested on v3 and v4 (rec). Should work with 2.x
+ An e-mail account that may be accessed either by POP3 or SMTP.
(TCP/IP is a given here)
+ ClassicREXX installed. ObjectREXX is NOT acceptable!
===========================================================================
1.5.0 -- Installation
===========================================================================
1) Create a "McList" directory somewhere.
2) Move McUp.Zip nd McFull.Zip to the new McList directory.
3) Move VpRexx.Dll and RxSock.Dll to x:\OS2\Dll
4) Change to the McList directory you just created.
5) If you are installing McList for the FIRST TIME, then you should unzip
McUp.Zip AND McFull.Zip.
6) If you are UPGRADING from a previous version of McList, unzip ONLY
McUp.Zip, and then run 100to200.Cmd.
7) Run McList.Exe without parameters. Go to the configuration menu and
make changes as needed. If there are any blank fields in Config- >
Subjects, make sure to fill them in.
8) If you want McList to import mail from PM Mail, just go to the REXX
Exits page in Utilities and make 'x:\McList\McList.Exe' your incoming
mail script. That will let it sort through all of your mail and
determine what needs processing and what does not.
You're done installing, but don't stop reading yet!!
===========================================================================
1.6.0 -- Assumptions made by the documentation
===========================================================================
This documentation assumes the following about its reader:
+ Familiarity with OS/2, CMD.EXE and its commands.
+ Familiarity with InfoZIP's unzip tool.
+ A rudimentary grasp of the basics of a mailing list's operations.
+ A familiarity with e-mail and the internet in general.
+ Literacy
NOT assumed:
+ Any previous experience with a mailing list processor.
Why not? McList is a totally new way to run a mailing list, so you
are probably better off starting from scratch anyway.
+ In-depth knowledge of how the internet operates.
Why not? McList is simple to setup, run, and customize. You don't
have to get "down and dirty" with the 'net. McList does it for you.
==============================================================================
2.0.0 -- Interface and Support Utilities
==============================================================================
The interface is regarded as the front end to the various background
portions of McList, such as ProcD and the configuration files. The
interface is essentially McList's Main Window.
The support utilities, on the other hand, are "independent" of McList
and aim to aid the list operator in maintaining the list and
accomplishing routine tasks without the need for a wide array of
external software.
===========================================================================
2.1.0 -- The Interface
===========================================================================
Again, the interface is more or less comprised of the Main Window.
========================================================================
2.1.1 -- The Interactive LogBox
========================================================================
The Interactive Logbox is not enabled by default. If enabled via
the Main Window's View menu (covered in 2.1.9), the LogBox shows
information as it is being written to the various logfiles in
real-time. As opposed to the statusline views, the LogBox allows
the list operator to see what has happened in the past by scrolling
back in the LogBox.
The LogBox also has a popup menu that is activated by right-clicking
on the LogBox. This menu has two options:
Delete from LogBox--------------------------------------------------
When clicked, the selected line of text will be deleted from
the LogBox. This does not affect the hard-copy logs, however.
It only affects the consolidated logfile kept in memory and
displayed by the LogBox.
Copy to Clipboard---------------------------------------------------
This option allows the list operator to copy the selected line
of text from the LogBox to the clipboard. This allows for easy
pasting into McEdit or McMail.
========================================================================
2.1.2 -- The ProcD StatusLine
========================================================================
The ProcD statusline shows what ProcD is doing at any given moment.
Mutually exclusive to the Interactive LogBox, the ProcD Statusline
cannot be viewed at the same time as the LogBox.
Action------------------------------------------------------------
This line of text tells generally what ProcD is doing at any
given moment.
Inbound-----------------------------------------------------------
The inbound groupbox contains the name of the file(s) ProcD is
reading from or using as input. Usually this will be the
name/path of an inbound message.
Outbound----------------------------------------------------------
The outbound groupbox, on the other heand, contains the name of
the file(s) to which McList is writing. Generally, this will
be the name/path of outbound messages.
========================================================================
2.1.3 -- The SendD StatusLine
========================================================================
The SendD statusline is simplicity itself. It consists of two
fields:
Sending-----------------------------------------------------------
This field contains what is being sent.
To----------------------------------------------------------------
Obviously, this field contains the address to whom SendD is
sending.
========================================================================
2.1.4 -- The RecvD StatusLine
========================================================================
The RecvD statusline is simplicity itself. It consists of two
fields:
Receiving---------------------------------------------------------
This field contains what is being received.
From--------------------------------------------------------------
Obviously, this field contains the address from whom RecvD is
receiving.
========================================================================
2.1.5 -- The Tools Menu
========================================================================
Process Message------------------------------------------------------
When clicked, a standard OS/2 File Open dialog is presented. Once
you have selected a valid file, McList will attempt to process it
as a message.
Send/Submit Message--------------------------------------------------
This presents the McMail window. See 2.2.1
View Processed Mail--------------------------------------------------
This invokes McFile, with the focus on the Processed Mail
directory, x:\McList\Hold. See 2.2.3
View Archives--------------------------------------------------------
This invokes McFile, with the focus on the Archives
directory, x:\McList\Arc, which is used by McList to place
archives of its distributions. See 2.2.3
View Online Information----------------------------------------------
This invokes McFile, with the focus on the Online Information
directory, x:\McList\Info, which is used by the GetInfo and
SetInfo functions.. See 2.2.3
Freeze Daemons-------------------------------------------------------
When clicked, McList will "freeze" its Send and Receive daemons
so that all contact to the internet is stopped. This is useful
if your TCP/IP stack is not running, or your mail server is down
for whatever reason (probably running some flakey NT shit)
Thaw Daemons---------------------------------------------------------
Brings the Send and Receive Daemons back online after being
frozen. Sometimes this can take as long as two minutes, so please
be patient.
Exit-----------------------------------------------------------------
Cleanly exits McList.
========================================================================
2.1.6 -- The Edit Menu
========================================================================
Text File------------------------------------------------------------
Presents a standard OS/2 File Open dialog. Once a file has been
selected, McList opens McEdit (see 2.2.2) to view the text file.
User Editor----------------------------------------------------------
Opens the list editor (see 2.2.4) on the Userbase, which is a list
of all current subscribers to the list.
Ban Editor-----------------------------------------------------------
Opens the list editor (see 2.2.4) on the list of currently banned
users.
DayBan Editor--------------------------------------------------------
Opens the list editor (see 2.2.4) on the list of users that are
currently DayBanned.
Flood Records--------------------------------------------------------
This menu contains the flood records (ie, who has used each
function today) for each function. The list editor (see 2.2.4) is
used to edit/view all records.
Logs-----------------------------------------------------------------
Process Log........................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\McList.Log.
Receive Log........................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\Recv.Log.
Send Log...........................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\Send.Log.
Scripts--------------------------------------------------------------
Orphan.Cmd.........................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\Orphan.Cmd, which
is invoked when McList is told to process a message not
specifically bound for this address (and therefore orphaned).
NoAction.Cmd.......................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\NoAction.Cmd, which
is invoked when McList processes a message without any valid
McList commands in the subject line.
BadSub.Cmd.........................................................
Invokes McEdit (see 2.2.2) to edit x:\McList\BadSub.Cmd, which
is invoked when an address attempts to make a submission to the
list, but cannot because his address is not in the userbase.
This script is ideal for use when running the list in discussion
mode: it will allow you to retrieve error messages from
servers in regard to bad addresses, etc.
McMail---------------------------------------------------------------
Signature..........................................................
This file holds a copy of your signature file, which is
appended by default to the bottom of all your messages written
in McMail.
========================================================================
2.1.7 -- The Canned Reply Menu
========================================================================
McEdit is used to view and edit all of these files. Except for
Faq.Txt, metas are supported throughout.
Faq.Txt--------------------------------------------------------------
This is the FAQ (Frequently Asked Questions) that is sent by the
FAQ function and retrieved by the {FAQ} meta. Metas should not
be used in this file.
Header.Txt-----------------------------------------------------------
This is the header placed on the top of all outbound messages.
Footer.Txt-----------------------------------------------------------
This is the footer places on the top of all outbound messages.
Subscribes-----------------------------------------------------------
Sub.ok............................................................
This file is sent when a user successfully subscribes to the
mailing list.
Sub.err...........................................................
If an error occurs during the subscription process (ie, the
user already exists), then this message is sent instead of
Sub.ok.
UnSub.ok..........................................................
This file is sent when an attempt to unsubscribe from the
mailing list is successful.
UnSub.err.........................................................
If an error occurs during the process (ie, the user was never
a subscriber in the first place), then this message is sent.
Bans-----------------------------------------------------------------
Ban.ok............................................................
This message is sent when a ban request is successfully
processed.
Ban.err...........................................................
If an error occurs, however, this message is sent.
UnBan.ok..........................................................
If an unban request is successful, this message is sent.
UnBan.err.........................................................
If there is an error, then this message is sent.
Passwords------------------------------------------------------------
Password.err......................................................
If an incorrect password is given for a password-protected
function, then McList sends the user this message to explain
why the function was not successful.
Password.req......................................................
If the user fails to even give a password on a password-
protected function, however, this file is sent instead to
explain why a password is required and how to put a password
on the subject line of his message.
Information Server---------------------------------------------------
GetInfo.err.......................................................
If an error occurs or the information requested does not
exist on the server, then this message is sent.
SetInfo.ok........................................................
This message is sent when a SetInfo function is carried out
successfully.
SetInfo.err.......................................................
When an error occurs, however, McList sends this message.
Submit---------------------------------------------------------------
Submit.Hdr........................................................
This is the header used ONLY in mail being sent to all
users via the SUBMIT function. This header is written to the
message after the normal header (Header.Txt) but before the
body of the submission.
Submit.Ftr........................................................
The Submit Footer is written to the message before the normal
footer, but after the message body. As with Submit.Hdr, this
footer is only written to a message when it is generated by
the Submit function.
========================================================================
2.1.8 -- The Config Menu
========================================================================
The Config menu is where the list operator may setup and configure
McList. Needless to say, this is one of the most vital portions
of McList's interface, and is very worthy of your study. The
config menu is divided into six parts:
List-----------------------------------------------------------------
Message Pointer....................................................
The pointer that identifies each distribution that goes out
from McList to all its subscribers. The set button saves this
pointer. Generally, this does not need to be modified.
Do not send submission back to sender..............................
When checked, McList will not bounce a copy of the submission
back to the person who originally submitted the message. Best
to leave this unchecked so that the person who submitted the
message knows that it was distributed properly.
Name of List.......................................................
Put the name of your mailing list here. It is used for various
canned reply subjects, and in the reply-to and from fields in
the header of all messages originating from McList.
Account Address....................................................
This is the address at which the mailing list is located. Mine
is prs@twave.net.
Distribution Subject...............................................
This is the subject used for all mailing list distributions.
It supports McList meta variables.
* If you are running a "classic" discussion mailing list,
this should be set to "{SUBJECT}" minus the quotes. Also
see the Subject Setup- > Subscribe Text below
Reply-To Text......................................................
Add the text you would like to see in the Reply-To line here.
Metas are supported. The default setting is:
"{LISTNAME}" < {ADDRESS} >
Again, metas are case sensitive!
Subjects-------------------------------------------------------------
For more information on what each function does, see 4.1.0
Subscribe Text.....................................................
When McList sees a subject that matches this (case insensitive)
then it treats the message as a subscribe message. Setting
this to * will tell McList that if no other commands are
present, then is should submit the message. This enables
McList to run in the traditional discussion mailing list
fashion.
UnSubscribe Text..................................................
When McList sees a subject that matches this (case insensitive),
then it treats the message as an unsubscribe message.
Submit Text.......................................................
When McList sees a subject that matches this (case insensitive),
then it treats the message as a submit message.
FAQ Request Text..................................................
When McList sees a subject that matches this (case insensitive),
then it treats the message as a FAQ request message.
Ban Text..........................................................
When this is seen at the beginning of a message's subject line,
McList passes the message to the ban function.
UnBan Text........................................................
When this is seen at the beginning of a message's subject line,
McList passes the message to the unban function.
Calc Text.........................................................
When this is seen at the beginning of a message's subject line,
McList passes the message to the calc function.
SetInfo Text......................................................
When this is seen at the beginning of a message's subject line,
McList passes the message to the SetInfo function.
GetInfo Text......................................................
When this is seen at the beginning of a message's subject line,
McList passes the message to the GetInfo function.
Security-------------------------------------------------------------
The security setup window allows you to secure functions with
a password on a function-by-function basis.
McList Function...................................................
A list of available McList functions.
InSecure..........................................................
When checked, McList will not secure this function.
Protect With Password.............................................
When checked, McList will password protect the function with the
password in the entry field.
Flood Control--------------------------------------------------------
Similar to the Security Setup Window, the Flood Control Setup
Window allows you to define a threshold that McList will not
allow a user to cross. If the flood control threshold for a
particular function is crossed by a user, McList will retaliate
as configured.
McList Function...................................................
A list of available McList functions.
Disable...........................................................
When checked, McList will disable flood control for this
function.
Flood Protect.....................................................
Enables flood protection for this function and limits the
maximum number of attempts to use this function according to
the spinbox at right.
Action to take against flooders...................................
Select whether you want McList to ban the address that violated
the flood threshold for only one day, or forever.
Mail Setup- > Incoming Mail--------------------------------------------
Command Line......................................................
Let PM Mail (or another mailer) handle incoming mail. When set
to this value, McList will not poll actively for mail, but will
rather only process mail handed expressly to it via command
line or Tools- > Process Message. PM Mail or another program
must actively call McList.Exe with the full path and file name
of the message as the first (and only) argument. See 4.5.0
POP...............................................................
This tells McList to actively poll for mail from a POP3 server
using the given server, UserID, and password information.
POP2 receives are uncommon and not available.
Look here for new mail............................................
This instructs McList to receive mail that is placed in the
specified directory. Any mail appearing in this directory will
be processed and moved.
Beep on new mail..................................................
When new mail is received, McList will beep if this is checked.
Mail Setup- > OutGoing Mail--------------------------------------------
Send mail via SMTP................................................
This tells McList to send the mail by itself. It will throw
mail into the queue, and the send daemon will send the mail
using the SMTP protocol.
Do not use intl code..............................................
When checked, McList will not even attempt to use its internal
SMTP send code. Rather, it will always invoke the "Sendmail
cmd line."
Wait for Sendmail.................................................
When checked, McList will wait for Sendmail to finish sending
the message before it tries to send another. This eliminates
the possibility of numerous copies of Sendmail hogging the CPU,
but it also greatly slows delivery speed.
Sendmail cmd line.................................................
The command line to use to call Sendmail, which is used when
McList's internal SMTP code is unable to deliver a message.
Supported meta values are
{FILE}....Name of file to send
{TO}......address to send {FILE} to
Route mail thru...................................................
When checked, McList will attempt to route all its mail through
the server you specify in the entryfield to the right.
NOTE: If routing is enabled, McList will send distributions
as FAF sends, which can "send" 100-1,000 msgs/minute to
your users, depending on your server and connection speed
Needless to say, you should enable routing if at all
possible.
Send mail via ext pgm.............................................
When selected, McList will not try to send mail by itself.
Rather, it will export mail to the defined directory for
processing by another program. If using PM Mail, you will have
to go to Folder- > ReIndex in order to get PM Mail to see the
mail.
Export in Sendmail fmt............................................
McList will dump messages into the directory in SendMail outbox
format.
Put mail where?...................................................
The fully-qualified path in which McList should place mail for
processing by an external program.
========================================================================
2.1.9 -- The View Menu
========================================================================
StatusLine-----------------------------------------------------------
Mutually exclusive to the Interactive Log, the StatusLine allows
you to view what McList (more specifically, ProcD) is doing in
realtime via its status line. The drawback, however, is that you
cannot "scroll back" in time to see what has happened in the past.
The Interactive Log must be selected for that capability
Interactive Log------------------------------------------------------
Mutually exclusive to the StatusLine, the Interactive Log is a
front end to everything written to McList's log files:
McList.Log, Send.Log, and Recv.Log. Scrolling, cutting, and
deleting is supported from the logbox to facilitate information
transfers, etc. The Logbox, of course, allows you to scroll back
through the log to see what McList has done in the past, as
opposed to only what McList is currently doing (as in the
StatusLine view).
AutoScroll-----------------------------------------------------------
This feature is only available while the Interactive Log is active.
The AutoScroll feature scrolls the box automatically when new
data is written to log.
Load Window State----------------------------------------------------
This loads the window position/state from the disk.
Save Window State----------------------------------------------------
This writes the current window position/state to the disk.
===========================================================================
2.2.0 -- The Support Utilities
===========================================================================
========================================================================
2.2.1 -- McMail
========================================================================
The Send/Submit window allows you to send messages directly to McList
or send a message to anyone on the internet through McList.
Message--------------------------------------------------------------
Send..............................................................
This sends the message you are currently editing in the window
using the header information you have defined in the To and
Subject fields.
Cancel............................................................
If you decide not to send the message, clicking on cancel will
exit McMail without sending the message.
Load from file....................................................
If you would like to load the message body from a file
(ie, McList\Msg\Faq.Txt), then this option will allow you to do
so. It will present a standard OS/2 File Open dialog. Simply
select the file you wish to load, and McMail will place its
contents into the message body. Please note that this function
destroys everything in the current message body!
Save As...........................................................
Saves the message body as a file.
Edit-----------------------------------------------------------------
This menu is identical to the standard Edit menu found in E.Exe
and McEdit.
Insert---------------------------------------------------------------
Signature.........................................................
Inserts the signature defined in McList's
Edit- > McMail- > Signature
Date..............................................................
Use this option to insert the date.
Time..............................................................
Use this item to insert the current time into the message.
Splitbar..........................................................
This menu contains a number of splitbars that you can use to
separate portions of your text easily.
Metas.............................................................
This menu contains a list of all the metas supported by McList.
Info-----------------------------------------------------------------
Document Info.....................................................
Provides a few statistics about the message you are writing.
========================================================================
2.2.2 -- McEdit
========================================================================
McEdit is McList's built-in text editor. It is virtually identical
to OS/2's E.Exe, except with McList-specific features, such as
splitbar and meta support in the insert menu.
File-----------------------------------------------------------------
Save..............................................................
Saves the text file currently in the editor as its default
name.
Save As...........................................................
Presents a standard OS/2 File Open dialog that you can use to
specify a new filename for the text file currently being
edited.
New...............................................................
Creates a new text file.
Load..............................................................
Loads a new text file into McEdit.
Reply.............................................................
Opens McMail with a reply generated from the current file.
New Editor........................................................
Loads a new instance of McEdit, which will be editing the same
text file as in the current McEdit.
Edit-----------------------------------------------------------------
This menu is identical to the standard Edit menu found in E.Exe
and McEdit.
Insert---------------------------------------------------------------
Signature.........................................................
Inserts the signature defined in McList's
Edit- > McMail- > Signature
Date..............................................................
Use this option to insert the date.
Time..............................................................
Use this item to insert the current time into the message.
Splitbar..........................................................
This menu contains a number of splitbars that you can use to
separate portions of your text easily.
Metas.............................................................
This menu contains a list of all the metas supported by McList.
Info-----------------------------------------------------------------
Document Info.....................................................
Provides a few statistics about the message you are writing.
========================================================================
2.2.3 -- McFile
========================================================================
McFile is McList's built-in file and message manager. Currently it
is not yet feature complete, but it is a very useful tool with
which you may view and reply to mail flowing in and out of McList.
The Toolbar---------------------------------------------------------
Currently the buttons on the toolbar are hard coded. The toolbar
code is very flexible, and is very conducive to configuration, so
this is very probable for v2.10.
From Left to Right, the buttons are:
+ Details View
+ Icon View
+ Tree View
+ Text View
+ Delete Message
The Tree Overview---------------------------------------------------
The Tree Overview (the left half of the McFile window) shows a
tree view of the path in the entryfield above it. Double-clicking
on a folder will load its contents into the container at the
right.
The entryfield is writable, so you may type in a new base
directory for McFile to load. As soon as a valid path is
detected, McFile will begin to fill the Tree Overview with its
contents.
The Container-------------------------------------------------------
To the right of the Tree Overview is the container, which shows
the contents of the selected folder. Right clicking on an
object brings up the file menu.
The File Menu-------------------------------------------------------
Delete...........................................................
Deletes the selected file from the disk.
Mark as Read.....................................................
Updates the Read/Unread index to show the selected message
as read.
View/Edit........................................................
This opens McEdit to view the selected file.
Reply............................................................
This opens McMail with a reply generated to the selected file.
The View Menu-------------------------------------------------------
Selecting one of the views in this menu causes the Container to
adopt this view.
========================================================================
2.2.4 -- The List Editor
========================================================================
The list editor is McList's front end to lists of data stored in
its databases. The list editor is used to edit everything from
transaction logs to the userbase. The title bar shows what list
you are currently editing.
The list editor is composed of seven parts:
The listbox----------------------------------------------------------
The list of names is stored here in the ListBox. One name at
a time may be selected at a time.
The EntryField-------------------------------------------------------
Located at the top of the window, the entryfield is used in
unison with the Add Button to add a name, and it also used
in conjunction with the Search and Match Buttons to locate data
in the list of names.
The Add Button-------------------------------------------------------
When clicked, the list editor takes the contents of the entryfield
and adds the data it finds there to the copy of the list of names
in memory. Changes, of course, are not saved until the Save
Button is pressed.
The Delete Button----------------------------------------------------
The Delete Button removes the selected name from the list of
names in memory.
The Search Button----------------------------------------------------
In large lists, manually searching for data is tedious and time-
consuming. The search button allows you to search for the string
located in the entryfield in all the names in the list.
PLEASE NOTE that the search only occurs from the currently
selected name down.
The Match Button-----------------------------------------------------
The match button locates the exact name you are looking for
rather than a string, which is the function of the Search Button.
To use, simply type into the entryfield the name you wish to
search for. Afterwards, click the Match Button and then the list
editor will find the exact name you want in the list of names.
The Save Button------------------------------------------------------
The Save Button saves all your changes to disk. Without clicking
this, all your work is for naught.
==============================================================================
3.0.0 -- Daemons and background processing threads
==============================================================================
This chapter is more educational than anything else, seeing as how you
will never have to deal directly with the daemons and other background
threads. However, since it never does harm to understand how one's tools
work, this chapter has been created you give you a grasp on how McList
actually operates internally.
===========================================================================
5.1.0 -- ProcD
===========================================================================
ProcD, short for Process Daemon, is the absolute heart and soul of
McList! ProcD handles all inbound and outbound mail traffic through
the list and directs it to where it needs to go.
Despite its name, however, ProcD is not a daemon in the true sense
because it does not run continuously. Rather, it is started on
as as-needed basis to process mail. Actually, many instances of
ProcD can be running at any given time depending on the amount of
mail travelling through the list.
===========================================================================
5.2.0 -- SendD
===========================================================================
SendD, short for Send Daemon is McList's arm to the outside world.
When something must be delivered, SendD is in charge of delivering
the message to the internet. In terms of purely local delivery,
however, (ie, writing messages to a directory) SendD is not brought
into play.
SendD is a true daemon: it runs constantly (even when it is not needed).
===========================================================================
5.3.0 -- RecvD
===========================================================================
RecvD, in general, is in charge of fetching mail that McList needs
to process.
RecvD is a true daemon.
===========================================================================
5.4.0 -- FSafD
===========================================================================
FSafD, short for Fail Safe Daemon, runs constantly. Its primary
job is monitoring other portions of McList and making sure everything
is running as it should. If a daemon is hung, FSafD will eliminate
it and restart another daemon to take its place.
FSafD gives McList is characteristic "back from the dead" mode of
operation -- if one part of McList dies, FSafD fixes the problem and
resurrects that segment of McList from the dead so that the system
can continue running in a fully-functional state.
In short, FSafD makes McList truly kick ass in an unparalleled fashion.
===========================================================================
5.5.0 -- WorkR
===========================================================================
WorkR is not a daemon: rather it is a background thread that is started
only when McList is run in /DOWORK mode. WorkR's job is to coordinate
the other daemons in the system to insure that queues are flushed and
messages are delivered as they are supposed to be.
==============================================================================
4.0.0 -- Using McList
==============================================================================
===========================================================================
4.1.0 -- McList's Built-In Functions
===========================================================================
McList functions are commands that can be executed remotely via a
message, such as subscribing or banning a user. Each function can be
password protected or flood protected per your desires. See 4.2.0 and
4.3.0 for more information on these two topics.
If a function is password protected, then the password must be placed in
[brackets] before the command. If the ban function were password
protected, then the subject line would like this:
[Password] BAN fu@bar.org
If the ban function weren't password protected (not a good idea), then
the command would look like this:
BAN fu@bar.org
Please note that the subject keywords, ie < subscribe text > are defined
in Config- > Subjects (See 2.1.8)
Subscribe---------------------------------------------------------------
The SUBSCRIBE function will add the user who sent the message to the
list's list of users. When a user is subscribed, then s/he receives
submissions that other users send to the list for distribution.
Subject: < subscribe text >
Body : No text required
When successful: Msg\Sub.ok is sent
If unsuccessful: Msg\Sub.err is sent
Unsubscribe-------------------------------------------------------------
The UNSUBSCRIBE function removes the user who sent the message from
the list.
Subject: < Unsubscribe text >
Body : No text required
When successful: Msg\UnSub.ok is sent
If unsuccessful: Msg\UnSub.err is sent
Submit------------------------------------------------------------------
The SUBMIT function allows users to send messages to the list that
are distributed to all other users. Only addresses that are
subscribed may submit messages to the list.
Subject: < Submit text >
Body : The message you want submitted. Please note that McList will
send the message EXACTLY as you send it plus a header and
a footer. No changes will be made.
When successful: The message body is distributed to all users
If unsuccessful: An error will be logged
FAQ---------------------------------------------------------------------
The FAQ function allows users to request a copy of the FAQ
(Msg\Faq.txt), which is sent to them by McList. Anyone, subscribed
or not, may request and receive a copy of the FAQ.
Subject: < faq text >
Body : No text required
When successful: Msg\Faq.txt is sent
If unsuccessful: An error will be logged
Ban---------------------------------------------------------------------
The BAN function allows an address to be banned from all McList
functions. The user may still receive distributions from the list,
but s/he may not execute any McList functions. The ban is held
in effect until:
1) Revoked by the list operator locally
2) Revoked by the UNBAN function
3) Hell freezes over
Subject: < ban text > [address to ban]
Body : No text required
When successful: Msg\Ban.ok is sent
If unsuccessful: Msg\Ban.err is sent
UnBan-------------------------------------------------------------------
The UNBAN function revokes any bans (except for day bans) that are
outstanding on < address > .
Subject: < unban text > [address to unban]
Body : No text required
When successful: Msg\UnBan.ok is sent
If unsuccessful: Msg\UnBan.err is sent
Calc--------------------------------------------------------------------
The CALC function retrieves or stores information from or on
McList. If the requested information is not available, McList
will inform the user as such.
To retrieve information from McList:
Subject: < calc text > [a valid string to retrieve]
Body : No text required
When successful: A message with the requested data will be sent
If unsuccessful: McList will send an error message to the user.
To store information on McList:
Subject: < calc text > [a valid string to define],[text]
Body : No text required
When successful: A message with the requested data will be sent
If unsuccessful: McList will send an error message to the user.
SetInfo-----------------------------------------------------------------
The SETINFO function files a document away for others to retrieve
with the GetInfo function.
Subject: < setinfo text > [document name]
Body : The text of the document you are filing
When successful: Msg\SetInfo.ok is sent
If unsuccessful: Msg\SetInfo.err is sent
NOTE: Document names are SEVERELY limited on FAT-based machines. I
do not suggest the use of Get/SetInfo on these systems.
GetInfo-----------------------------------------------------------------
The GETINFO function retrieves a document that has been sent to McList
with the SETINFO function.
Subject: < GetInfo text > [document name]
Body : No text required
When successful: The requested document is sent
If unsuccessful: Msg\GetInfo.err is sent
NOTE: Document names are SEVERELY limited on FAT-based machines. I
do not suggest the use of Get/SetInfo on these systems.
===========================================================================
4.2.0 -- Security
===========================================================================
In order to access a secure function remotely, you must put the password
in brackets before the command. If the submit function is protected
by the password "bob," then my subject line to submit a message would
look like this:
[BOB] SUBMIT
That will allow you to submit a message. You can submit a message
locally using McList.Exe, too.
If the ban function were protected by the password "JimBob," then
my subject line would be as follows:
[JIMBOB] BAN trout@trout.org
If no password is sent for a password protected function, McList sends
the file msg\password.req. If the password sent is incorrect, it will
send msg\Password.err.
If a password is given for a function that doesn't require a password,
then McList will ignore the password and process the message anyway.
===========================================================================
4.3.0 -- Flood Control
===========================================================================
Flood control, though, is another matter. Some people will try to
disable services by flooding them to death: ie, sending so many messages
that the server is busy processing junk and cannot provide basic
services. This is called flooding.
McList will protect your system against floods, if you desire, on a
function-by-function basis. If someone requests a service from McList
more than the number of times you specify, McList will identify the
action as an attempt to flood the server and will take retaliatory
action against the user.
Retaliatory action can either be a lifetime ban or simply a ban for
the remainder of that day.
It is reccomended, however, that you set the flood threshold on the
submit function very low -- preferably no more than two. If someone
tries to flood the list by submitting junk, this will limit the effects
of the attack. If you are attacked via the submit function, I highly
suggest that you move to a moderated format and password-protect the
function.
===========================================================================
4.4.0 -- The Meta System
===========================================================================
Meta variables are used in numerous configuration fields (ie, Reply-To
Text, Distribution Subject, etc), Canned Replies, Headers, and
Message Bodies.
All meta variables must be in UPPERCASE. Here is a list of current
meta variables:
{MSG#}.......The number of submissions submitted to McList
{LISTNAME}...The name of the mailing list
{ADDRESS}....The mailing list's address
{FROM}.......The name of the person who sent the message being processed
{SUBJECT}....The subject of the message being processed
{VERSION}....McList version
{DATE}.......Today's date
{TIME}.......The current time
{USER_COUNT}.The number of users currently subscribed to the list
{FAQ}........Copies in the FAQ (msg\Faq.Txt)
===========================================================================
4.5.0 -- Command Line Options
===========================================================================
When McList.Exe is run without parameters, it will run in local console
mode. When running in local console mode, McList will start all daemons
as configured and wait for mail that needs to be received, sent, or
processed. You can configure and monitor McList while running in local
console mode.
/DOWORK-----------------------------------------------------------------
SYNTAX: /DOWORK
When invoked with the parameter /DOWORK, McList will check for
new mail, process any new or old inbound mail, and then send
any mail waiting in the outbound queue. McList will then
exit normally. /DOWORK is ideal for situations in which you
want McList to be run x number of times a day, or if you have
a dial-up account where you can't leave McList running all the
time. McList cannot be edited or configured while running in
/DOWORK mode.
/SUBMIT-----------------------------------------------------------------
SYNTAX: /SUBMIT submitfile
Case sensitive! McList will send this message to all the
subscribers to the list as if it were send using the local
submit facility.
/SEND-------------------------------------------------------------------
SYNTAX: /SEND sendfile /A:args /F:fromname /T:toname /S:subject
Case/Order Sensitive!
sendfile..............................................................
If you pass the name and path of a file, or a list of files, to
McList as the parameter, McList will process those files,
send any mail in the outbound queue, and exit. You can pass
McList a list of files by separating each fully-qualified file
name with a comma. ie, "McList.Exe c:\bob.msg,g:\jim.msg"
McList cannot be edited or configured while running in this
mode.
Args..................................................................
1 = Send the message with the standard header/footer
0 = Send the message without the header/footer
fromname..............................................................
The name/address to put in the message's from field. Leaving this
blank will tell McList to stamp the default data into the field.
toname................................................................
To whom should McList send this message?
subject...............................................................
Put the subject to stamp in the subject field here.
===========================================================================
4.6.0 -- McList's Scripts
===========================================================================
90% of systems will not need to make use of McList's (currently)
limited script system. Because of this fact, most list operators will
not need to read this section except for informational purposes. All
in all, the three scripts allow for increased automation for those
who are willing to put some time and effort into setting up their
mailing lists.
All scripts can be access via the Edit- > Scripts menu from McList's
main window.
========================================================================
4.6.1 -- Orphan.Cmd
========================================================================
Before processing each message, McList checks the message to ensure
that it is actually bound for this list. When a message does not
pass this test, McList reports:
**This message is not bound for a list at this server. Filing it.
If Orphan.Cmd exists, then McList will run this script with the
full path and filename of the message as the first (and only)
argument.
This allows you to do what you want with orphan messages. As a word
of caution, however, do NOT send them back to the sender!
========================================================================
4.6.2 -- NoAction.Cmd
========================================================================
NoAction.Cmd is run when a message is processed by McList that
lacks any valid McList commands, as defined in Config- > Subjects.
When McList processes a message that contains no valid commands, it
outputs this to the log:
* ERROR: Message contains no McList commands
If this list is used exclusively to run a mailing list, you may wish
to setup a script to send the sender of the message a copy of the
FAQ. Again, you can do whatever you want.
========================================================================
4.6.2 -- BadSub.Cmd
========================================================================
If an address attempts to make a submission but is not in the
userbase, then this script is activated. This script is most useful
for lists that are running in discussion mode, such as The #OS/2
Channel Mailing List (os2@neonpuppy.com).
In the case of this list, BadSub.Cmd retrieves messages from
mailer daemons and postmasters that give warning about invalid
addresses. Once retrieved, they are mailed back to the operator
for action. It is also possible to setup a script to automatically
process bad address warnings from other hosts.
==============================================================================
5.0.0 -- Loose Ends
==============================================================================
===========================================================================
5.1.0 -- Support
===========================================================================
Har! I'd be happy to help you out if something goes wrong or if you
have a question, but support is by no means guaranteed. Just e-mail
me at prs@twave.net with your question. I'll try to get back to you.
I also hang out on IRC in #adept, #os/2, and #mclist with the nick
_McD_. If you need help, this is a great medium in which to receive it.
===========================================================================
5.2.0 -- Registering
===========================================================================
-----------
THE CONCEPT
-----------
I am a college student, who is pursuing a double major in Business
Administration and Computer Information Systems. At this point in
time I have three years remaining.
In any case, I have been working for six months on McList, and it has
consumed a large amount of my free time -- too much in fact. While
McList started out as a mailing list processor to run my own personal
list, I poured time and resources into this project so that I could
release it to the OS/2 community as a usable and professional product.
I went to this effort because nothing like McList exists for OS/2.
Because of this, I'm releasing McList to the public as shareware. What
is shareware? Well, you download and use the product. If you find
it useful, then you pay me for it.
I am only charging $10 for McList v2.00.
$10 is nothing, but it will buy me gas for my car, food for my mouth,
and coffee for my late-night study-a-thons.
But what will $10 get you? After all, you're using the full package
anyway. Well, if you're dishonest, you're going to steal my package
anyway, so I may as well release it as shareware so that the honest
OS/2 users can give it a run for its money to see how they like it, and
decide if it does what they need it to do.
If it does do what they need it to do, and they continue to use it,
then they pay me $10. If it's not useful, and they delete it, then
they owe me nothing.
That's the shareware concept.
----------------------
HERE'S HOW TO REGISTER
----------------------
Print out Register.Me and fill in the blanks, la la la.
Don't forget the money, either. :)
===========================================================================
5.3.0 -- Legal Mumbo-Jumbo
===========================================================================
For McList--------------------------------------------------------------
McList is my property. I'm licensing it to you for use until I say
otherwise. I can terminate this license for any legal reason and
alert you to its termination however I please. Most likely, you
will be contacted via (e)mail. If I decide to terminate ALL licenses
for McList, I will announce this in comp.os.os2.announce. By
installing/downloading/using McList, you agree to watch both your
mail and the aforementioned newsgroup for notice of any license
terminations. If I decide to terminate all licenses, I will give
one (1) month's notice.
Upon termination, you must destroy all copies and iterations of
McList and notify Matthew Davis (prs@twave.net) with regard to your
compliance.
You may keep copies of your configuration files, userbase, message
archives, and information server documents if your license is
terminated.
For RxSock.Dll----------------------------------------------------------
*****************************************************************
IBM License Agreement for OS/2 Tools
-----------------------------------------------------------------
IF YOU DOWNLOAD OR USE THIS PROGRAM YOU AGREE TO THESE TERMS.
International Business Machines Corporation grants you a license
to use the Program only in the country where you acquired it. The
Program is copyrighted and licensed (not sold). We do not
transfer title to the Program to you. You obtain no rights other
than those granted you under this license.
Under this license, you may:
1. use the Program on one or more machines at a time;
2. make copies of the Program for use or backup purposes within
your Enterprise;
3. modify the Program and merge it into another program; and
4. make copies of the original file you downloaded and distribute
it, provided that you transfer a copy of this license to the
other party. The other party agrees to these terms by its
first use of the Program.
You must reproduce the copyright notice and any other legend of
ownership on each copy or partial copy, of the Program.
You may NOT:
1. sublicense, rent, lease, or assign the Program; and
2. reverse assemble, reverse compile, or otherwise translate the
Program.
We do not warrant that the Program is free from claims by a third
party of copyright, patent, trademark, trade secret, or any other
intellectual property infringement.
Under no circumstances are we liable for any of the following:
1. third-party claims against you for losses or damages;
2. loss of, or damage to, your records or data; or
3. economic consequential damages (including lost profits or
savings) or incidental damages, even if we are informed of
their possibility.
Some jurisdictions do not allow these limitations or exclusions,
so they may not apply to you.
We do not warrant uninterrupted or error free operation of the
Program. We have no obligation to provide service, defect
correction, or any maintenance for the Program. We have no
obligation to supply any Program updates or enhancements to you
even if such are or later become available.
IF YOU DOWNLOAD OR USE THIS PROGRAM YOU AGREE TO THESE TERMS.
THERE ARE NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
Some jurisdictions do not allow the exclusion of implied
warranties, so the above exclusion may not apply to you.
You may terminate this license at any time. We may terminate this
license if you fail to comply with any of its terms. In either
event, you must destroy all your copies of the Program.
You are responsible for the payment of any taxes resulting from
this license.
You may not sell, transfer, assign, or subcontract any of your
rights or obligations under this license. Any attempt to do so is
void.
Neither of us may bring a legal action more than two years after
the cause of action arose.
If you acquired the Program in the United States, this license is
governed by the laws of the State of New York. If you acquired
the Program in Canada, this license is governed by the laws of
the Province of Ontario. Otherwise, this license is governed by
the laws of the country in which you acquired the Program.
3/92
Appendix======================================================================
A.0.0 -- Integrating McList with PM Mail
==============================================================================
McD's (prs@twave.net) "How to setup McList v2 with PM Mail"
General familiarity with PM Mail is assumed. Please refer to PM Mail's
documentation should any questions about filters, REXX exits, or PM Mail
configuration arise.
It is also assumed that PM Mail has been properly configured to send and
receive mail.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1) First the PM Mail end of things. We must tell PM Mail how to call
McList to process a message and when that must be done.
There are two ways to integrate McList into PM Mail. The easiest and
most flexible involves the use of REXX exits. The most complicated
but fastest makes use of PM Mail's filter capability.
It is recommended that novices use the slower REXX exit method in
order to reduce and confusion or frustration (as well as the extra
work) that follows the filter-based method.
1a) [REXX Exit]
Just go to the REXX Exits page and make 'McList\McList.Exe' your
incoming mail script. That will allow McList to sort through all
of your incoming mail. This is the easiest thing to do, although
it greatly slows down PM Mail's import process.
1b) [Filters]
The use of filters greatly eclipses the REXX exit method when
speed is a concern. When filters are used, McList is only called
to process a message when the message contains a McList command
you expressly decide to process.
You will need to create a filter in PM Mail for each function you
wish for McList to process. Provided below are four sample filters
for the FAQ, SUBMIT, SUBSCRIBE, and UNSUBSCRIBE functions:
a) Description: Find UnSubscribe Messages
Type : Incoming
Search : Subject
For : Unsubscribe
Actions : Execute REXX Script: McList\McList.Exe
b) Description: Find Subscribe Messages
Type : Incoming
Search : Subject
For : Subscribe
Actions : Execute REXX Script: McList\McList.Exe
c) Description: Find Submit Messages
Type : Incoming
Search : Subject
For : Submit
Actions : Execute REXX Script: McList\McList.Exe
d) Description: Find FAQ Requests
Type : Incoming
Search : Subject
For : FAQ
Actions : Execute REXX Script: McList\McList.Exe
The above sample filters assume that the settings in McList's
Config- > Subjects have not been modified from the "factory defaults."
If the configuration in this window is modified, the filter(s) that
correspond with that function must be updated in order to reflect
the change.
2) And now to begin setting up McList's end of the equation to handle and
export mail to PM Mail for processing.
First is to setup how McList receives incoming mail:
a) Go to Config- > Mail Setup- > Incoming Mail.
b) Select the "Receive mail via command line" radio button.
c) If checked, uncheck the "Beep on new mail" checkbox at bottom.
3) And now tell McList how to handle outgoing mail. There are two ways
to setup McList, each with its own advantages and disadvantages:
3a) Let PM Mail deliver the mail.
GOOD: PM Mail handles all delivery. Little muss; little fuss.
YUCK: The outbound folder must be Reindexed (Folder- > Reindex) each
and every time McList dumps a new message to the outbox for
sending. (Gripe at SouthSoft about this one. Nothing I can
do about it since PM Mail will not even read the index from
disk except on startup)
Set it up to let PM Mail handle outbound mail:
a) Go to Config- > Mail Setup- > OutGoing Mail in McList's main window.
b) Select the "Send mail via external program" radio button.
c) Uncheck the "Export in Sendmail format" checkbox if it is checked.
d) Locate the name of your account directory in PM Mail. Mine,
for example, is "c:\PmMail\Prs_twa1.act"
e) Type that directory into the "Put mail in:" entryfield. If the
text in the entryfield is inverted (ie, orange text on a black
background), then the directory is invalid. Make sure the name
is correct.
f) Add the text "\Outbox.Fld" to the end of the directory you just
typed into the entryfield. If the text is inverted when you
are done, then the directory is invalid. Repeat d-f again to
find a valid directory in which McList can place mail.
3b) Let McList deliver the mail.
GOOD: You don't have to reindex the bloody outbox!
YUCK: PM Mail can be tied up while McList is sending mail.
How to set it up:
a) Go to Config- > Mail Setup- > OutGoing Mail in McList's main window.
b) Select the "Send mail via SMTP" radio button.
c) While it is very highly suggested that you read the documentation
and configure this section as you please, the following setup
is reccomended for most setups:
1) Uncheck "Do not use McList's internal SMTP Send code"
2) Uncheck "Wait for Sendmail to complete before continuing"
3) Sendmail cmd line: Sendmail -d -a {FILE} -t {TO}
(Case sensitive!)
4) Check "Route mail thru:" and type in the name of your
host/ISP's SMTP server. Mine is "postoffice.twave.net" (no
quotes). If you do not have access to your host's SMTP
server (weird), then uncheck the "Route mail thru:" checkbox.
Appendix======================================================================
B.0.0 -- Integrating McList with OS/2 Sendmail v2
==============================================================================
RedNivek's (craig@neonpuppy.com) "How To Setup Mclist v2 with Sendmail":
Step 1:
Setup sendmail to properly receive mail on your OS/2 system.
Step 2:
Put an entry in your %etc%\aliases file to route mail heading
for a McList list to the Mclist incoming directory.
Example entry for list known as "fishing@way.kewl.com":
fishing: /c:\\mclist\\incoming\\bigfish.txt
All mail sent to fishing@way.kewl.com will be appended to the
file C:\MCLIST\INCOMING\BIGFISH.TXT and McList will sort out
the individual messages and delete the file when done.
Yes, all those slashes and backslashes up there are needed.
Some %etc% directories may be different. To know for sure, go
to an OS/2 command line and type the command "echo %etc%".
Step 3:
Send mail to your list e-mail address and verify that it ends
up in the correct file as setup in Step 2. Delete the test file.
Step 4:
Start Mclist.
Step 5:
Pick the "Config" menu option, then the "Mail Setup" option, then
the "Incoming Mail" option.
Step 6:
Choose radio button option "Look Here for New Mail"
Step 7:
Enter "Path to Incoming Mail", which is the same as the directory
in your aliases file.
If following the same example as above: C:\MCLIST\INCOMING
Step 8:
Close the "Incoming Mail Setup" window.
Step 9:
Pick the "Config" menu option, then the "Mail Setup" options, then
the "Outgoing Mail" option.
Step 10:
Choose radio button option "Send Mail Via External Program".
Step 11:
Choose checkbox option "Export in Sendmail Format".
Step 12:
Enter "Put Mail Where?", which is a default directory used by
sendmail, configured in %etc%\sendmail.cf
If following the same example as above: C:\MPTN\ETC\MQUEUE\
Some %etc% directories may be different. To know for sure, go
to an OS/2 command line and type the command "echo %etc%", then
add \MQUEUE\ to the results and you are done.
Step 13:
Send test mail to your list and it should work, if you have
configured everything else, including your user list.
Copyright 1997 -
Mail to: prs@twave.net; Matt