home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
LIST211.ZIP
/
LISTSERV.DOC
< prev
next >
Wrap
Text File
|
1995-01-09
|
15KB
|
338 lines
Listserv v2.11 - Pete Nelson (01/09/95)
Terminal One BBS (510) 673-9217
Author: pete@terminal-one.com
Listserv is a wcCODE application that will let you run Internet mailing
lists from your Wildcat BBS. Subscription and unsubscription requests are
handled automatically, either via the list address or a listserv@ address.
WHAT IS A LISTSERV?
A listserv is a program that runs mailing lists on Internet. People send
e-mail to the listserv address, and the listserv program sends that e-mail
out to the other subscribers. The Listserv .WCX works in the same manner.
People send e-mail to the address you set up, and when you run the Listserv
program, it sends out the messages to the subscribers. Listserv will only
send and receive messages in the conference you specify in the configuration
file, which should be your conference for Internet e-mail. Do not set up
a conference in wcGATE as a mailing list. From what I can tell, it won't
work. wcGATE was only written to handle incoming messages from a mailing
list, and wasn't designed to host one. If MSI is smart, they'll add this
feature to wcGATE so I won't have to work on Listserv anymore, although
it is kinda fun! :)
INSTALLATION:
Listserv can be run as an event, but can also be set up as a menu choice for
the sysop to run at his/her discretion. You need to copy the following files
into your main Wildcat directory:
LISTSERV.WCX - Compiled Listserv program. Set this up as a menu option for
the sysop or as an event.
LISTUTIL.WCX - Utility to let to add/view/remove mailing lists, and to
add/drop/view subscribers to those lists. Run this only as a menu option.
LISTSERV.CFG - Contains the number for your Internet E-Mail conference.
Put the conference number on the first line.
LISTSERV.PTR - Stores the high message pointer for your Internet E-Mail
conference, default is 0. Be SURE to change this number when you first
install or when you renumber your Internet e-mail database, as it could
drastically affect your mailing list.
LISTSERV.DAT - Stores info on all the mailing lists you host.
LISTSERV.FLT - Filter file: This file, if it exists, can be used to filter
out certain lines on outgoing messages. It should contain the exact text of
the line you want filtered out. Be SURE you have NO EXTRA CARRIAGE RETURNS
or your outgoing messages will be very compact, since Listserv will filter
out the carriage returns on the messages. Here's an example of what might
be in the file, with the (Line x) not actually being in the file:
(Line 1) To: wildcat-l@terminal-one.com
(Line 2) To: aliens-l@terminal-one.com
(Line 3 is the EOF marker)
Again, having no extra carriage returns is VERY IMPORTANT! I have done some
testing and the filters seem to work.
* Listutil *
The first thing you should do is run Listutil and create your first mailing
list. Choose the option to Create a new Mailing List.
It will then ask you for the file name to use. Let me explain how the
file naming works. Supposed you ran a mailing list called WILDCAT-L, and
the file name was WILDLIST. Your file names for that mailing list
would be:
WILDLIST.DAT - Subscriber list
WILDLIST.ADD - Message sent to new subscribers
WILDLIST.DRP - Message sent to people that unsubscribe
WILDLIST.SIG - Signature added to outgoing messages on the mailing list
WILDLIST.NOT - Message sent to people that try to post on the mailing list
when they're not a subscriber
Every file for that mailing list is based on the main file name. Listserv
will automatically create the .DAT file for you when someone subscribes or
you add a subscriber. The other files are standard text files you can
create. If the .ADD, .DRP, .NOT or .SIG files are not present, then that
message or .SIG will not be sent.
*NOTE* When you Remove a Mailing List via Listutil, it does not delete the
data files the list was using. You need to delete the files manually if you
remove a mailing list, otherwise the files remain in case you removed a list
accidentally.
Users who wish to sign up to the mailing list should send e-mail to the
list (ex: wildcat-l@terminal-one.com) and use for the subject either
the word 'subscribe' or 'unsubscribe'.
*NEW* Users may also send e-mail to listserv@domain.name.com
(ex: listserv@terminal-one.com). In the body of the message, they can put
their subscription requests in as 'subscribe listname' or
'unsubscribe listname'. This is the recommended way of subscribing to
the mailing lists.
You will also need to make a user account for each mailing list so incoming
messages don't get bounced back. Make sure this account has full access to
your Internet e-mail conference. Give the account name the same name as your
mailing list, minus your domain name. Example: If the mailing list address
is WILDCAT-L@TERMINAL-ONE.COM, make a user called WILDCAT-L
Also, be sure to create an account for the LISTSERV@ address.
Right now, Listserv uses the number stored in the pointer file to file to find
the next message to check, but wcPACK can cause this to become incorrect. I
will have to add support so it checks the high message number for the current
conference for the mailing list account (WILDCAT-L, for example). That way
the high message number will get updated when wcPACK does its high message
number update. I also need to find out how to access the high message numbers
in a user account through wcCODE. MSI Support will have to help me with this
one, cause I can't find anything in the docs that say how. So for now, if
you want your mailing list to work correctly, don't use wcPACK on your
Internet e-mail conference. You may also want to check the high message
pointers before you run Listserv. I currently run it as an option on my
sysop menu, and I always check things before I run it.
Author's Note: I've found that using wcPACK on the Internet e-mail
conference generally does not cause problems when running with Listserv.
However, I would do some testing to be sure, and I always run wcPACK on
my Internet e-mail conference manually.
One of the problems with running a mailing list is what to do with the
bounced or rejected messages. I had been adding support to have Listserv
look for certain subjects (HOST UNKNOWN, WARNING FROM UUCP, UNDELIVERABLE).
With the release of v2.03, Listserv skips messages sent by non-subscribers.
None of the Postmaster, UUCP, or other automatic mail handlers on different
hosts are usually signed up to a mailing list, therefore any returned
messages from them are skipped! I will keep support for the above mentioned
subjects, and I should not need to add support for any other subjects.
Also, it just occurred to me that I should post the records for the data
strutcures so other coders out there can write utilities for Listserv if
they needed to. Here they are, including remark lines so you may cut
and paste:
// This is the data type for the list of subscribers of each list
// The 'name' would be the e-mail addresses of the subscriber
type sublist_rec
name as string*70
end type
// This is the data type for the master list of mailing lists
// found in LISTSERV.DAT. The 'name' would be the name of the mailing
// list address (ex: wildcat-l). The 'subfile' would be the set of
// data files used by that mailing list (ex: WILDLIST.DAT, WILDLIST.SIG,
// WILDLIST.ADD, etc)
type list_record
name as string*70
subfile as string*8
end type
* I am currently hosting/testing a Wildcat mailing list. Please send e-mail *
* to 'listserv@terminal-one.com' with the words 'subscribe wildcat-l' in the *
* body of the message. *
REGISTRATION:
This wcCODE program is free, and does not require registration, although I
would like you to send me an e-mail to tell me that you are using it.
Send e-mail to: pete@terminal-one.com
If you really feel like paying me, I'll be more than happy to accept your
donations! Please mail them to:
Pete Nelson
640 Bailey Rd. #109
Pittsburg, CA 94565
NetCash will also be readily accepted via my e-mail address. :)
Revision History:
v2.11 - (01/09/95) The first revision for the new year!
Added support for a custom message (LISTSERV.NOT) that is sent out
to people that try to send a message out on the mailing list when
they are not a subscriber.
- Fixed some spelling errors in the docs. :)
v2.10 - (12/22/94) Modified the way Listserv does its displays so it runs
smoother rather than "blocky", although it now runs slightly slower.
If this is a major problem I will change it back to its original
display method.
- LISTUTIL: A few minor bug fixes
v2.09 - (12/19/94) Fixed a bug where Listserv would send a blank message
if no filter file existed. This has been fixed, and why I didn't
catch this when I released v2.08 is beyond me! Guess it was just
one of those days. :)
- Released the data structures in the docs.
- LISTUTIL.WCX: Added an option to reset the high message pointer
v2.08 - (12/12/94) Added a feature to let the sysop filter out certain text
on outgoing messages. The optional file LISTSERV.FLT should contain
the lines you want filtered out of outgoing messages. See the
documentation in the above text on how it should be formatted.
v2.07 - (12/01/94) The feature to skip deleted messages added in v2.06 was
causing Listserv to skip all new imported messages. This should now
be fixed.
v2.06 - (11/29/94) Listserv will now skips messages flagged as deleted. This
way you can add some sort of basic moderation to your mailing list.
- Fixed a bug that would cause Listserv to start at the first message
if the last message pointer (in the LISTSERV.PTR file) was pointing
to a non-existent message. Example: Say the last message was 870,
and that message had been marked as deleted and wcPACK was run to
remove it. Message 870 no longer exists, so Listserv can't find it
and starts at the beginning of the list.
v2.05 - (11/16/94) Listserv now supports a LISTSER@ address. Users can now
send a message to listserv@domain.name.com, and put the
'subscribe listname' and 'unsubscribe listname' in the body of the
message.
- Fixed a bug that occasionally happened when Listserv reached the last
record in it's subscriber list and would hang if the last record was
blank.
v2.04 - (11/15/94) Not released due to a bug
v2.03 - (11/10/94) Messages sent by a non-subscriber are skipped and not
sent out on the mailing list.
- Fixed a bug where Listserv would send/process one message and then
exit.
v2.02 - (10/31/94) Recompiled to work with Wildcat v4.01
- Messages with a subject of HOST UNKNOWN are now skipped
- Fixed a bug where Listserv was sending out messages with blank
subjects. Listserv now skips such messages.
v2.01 - (10/7/94) Turned off the Pause prompt
- Messages with a subject of EXECUTION FAILED or a blank subject are
now skipped and not sent out on the mailing list
v2.00 - (10/6/94) Support for multiple mailing lists added! Yeah!
- Custom messages for each mailing list
- Listutil now handles the support for adding/removing mailing lists
- When using Listutil, you can type in a full or partial name, and
it will come of with a match. IE: WILD would find WILDCAT if it
existed. This works in both the mailing list and subscriber areas.
- Messages with a subject of SUB or UNSUB are now treated as
subscription/unsubscription requests.
- Listserv will change back to the original conference it was launched
from
v1.06 - (9-29-94) Messages that contain a subject of WARNING FROM UUCP,
UNDELIVERABLE or UNKNOWN ADDRESS are skipped. This way bounced
messages are not sent back out on the mailing list.
- Fixed a bug that would give a "file already open" error when
an unsubscription request was immediately followed by a subscription
request.
v1.05 - (9-22-94) Messages with the a subject of SUB, UNSUB or blank are
now considered invalid subscription requests. A custom message is
sent out (INVALSUB.MSG) when Listserv gets one of these messages.
(Thanks to steve.henry@ambassador.com for the suggestion)
- All messages sent out on the list now show the From name as the
mailing list name. This makes it easier to send replies back to
the mailing list rather than the original sender.
(Thanks to sysop@guildnet.org for the suggestion)
v1.04 - (9-12-94) Fixed a bug that was causing wcGATE not to export
the outgoing messages. Here's what was happening:
There is a field in the Message Header record called Network Name.
My Internet provider is Holonet, and I wrote a small WCX to have
it display all the Network Names in the messages in my Internet
E-mail conf. Well, all the ones that were imported said HOLONET,
and all the local ones added by the system, straight Wildcat and not the wcCODE program, were blank. When
Listserv got a message from Internet, the Network Name was already
set to HOLONET, and when it saved an outgoing message, the Network
Name was still set to HOLONET, hence wcGATE thinks that the message
had already been imported so it didn't export it again. All I did
was reset the Network Name to blank before the message was saved so
wcGATE will export the message.
v1.03 - Fixed a bug that was causing messages to be saved as public rather
than private. All outgoing messages created are now private.
(Thanks to Steve at MSI for sending me the message flags info!)
- Added support for custom messages that are sent when people subscribe
and unsubscribe from the list
- Added a utility that lets you add/drop/list subscribers in the
mailing list.
v1.02 - Added support so users already signed up for the list cannot get
signed up again
- Added/changed come of the colors
- Added support for a customizable tagline (.sig) for each message.
- Fixed a bug where it put the mailing list name as the "From" name
- Turned off the "More" prompt.
v1.01 - Sends a reply when you subscribe or unsubscribe from the list.
- Included in docs how to actually subscribe/unsubscribe to the
mailing list! Ooops, slight oversight.
v1.0 - Initial Release.