home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / gigop806.zip / LISTSERV.DOC < prev    next >
Text File  |  1994-04-26  |  5KB  |  128 lines

  1. LISTSERV -
  2.  
  3.   Small kludge (with full source) to process mailing-list
  4.   maintenace requests from remote users.  The functionallity of it
  5.   is similiar to other listserv processors on the internet.
  6.  
  7.   This program only handles the subscribing and unsubscribing of
  8.   people in an automated way, that the users can use without the
  9.   intervention of the system administrator.   ML does not actually
  10.   send out the messages for the mailing list [GIGO will, using 
  11.   CAPTURE and EXPLODE statements - see the GIGO docs and config files
  12.   for details on how to actually set the mailing list functions up.]
  13.  
  14.   Full source is provided should you wish to modify it's behavior
  15.   or add features.  I'd be interested in seeing any changes to this
  16.   program! :-)
  17.  
  18. ABOUT THE DOCS
  19.  
  20.   Never ask the programmer to make the docs.  Programmers never have
  21.   the real-world perspective ;-)  If you can make these more sensible
  22.   to the public, feel free to shoot them back my way.
  23.  
  24. HOW IT WORKS (from the user's perspective)
  25.  
  26.   [listserv@yoursite mode]
  27.  
  28.   Users send a message to listserv@yoursite (or whatever address you
  29.   set it up as).  Users can request HELP, SUBSCRIBE <listname>,
  30.   UNSUBSCRIBE <listname>, INDEX, QUERY, and DISCONNECT.  The listserv
  31.   program processes there requests and sends back a reply.
  32.  
  33.   -or-
  34.  
  35.   [listname-r@yoursite mode]
  36.  
  37.   Users send a message (message body doesn't matter) to the address you
  38.   specify.  The user is automaticly added to the mailing list, and send
  39.   back an informational message about the mailing list in question.
  40.  
  41.  
  42. HOW IT WORKS (from your perspective).
  43.  
  44.   You need to set up some additional configuration entries in your
  45.   GATEWAY.CFG file.
  46.  
  47.     USER  listname-r  FUNCTION  listserv subscribe listname
  48.     USER  list2name-r FUNCTION  listserv subscribe list2name
  49.  
  50.     USER  listserv    FUNCTION  listserv
  51.  
  52.   When a user sends a message to one of the above addresses, GIGO will
  53.   generate FUNCTION.REQ, a simple text file.  At the top of that text
  54.   file will be two lines ("Apparently-To:  ..." and "Apparently-From:
  55.   ...").  Following those two lines, the entire email message is
  56.   written to disk, with all headers.  It will be up to the external
  57.   program if it wants to understand any of them.
  58.  
  59.   LISTSERV will read that file, finding out who the user is, and
  60.   basically ignoring the rest of the message header.
  61.  
  62.   When the LISTSERV program is used in the first context, LISTSERV will
  63.   attempt to open LISTNAME.ML (.ml stands for mailing list).  The
  64.   user's address will be placed at the top of this list.  Duplicates of
  65.   the same address are not repeated.  If LISTNAME.FAQ exists, it will
  66.   be sent to the user in the confirmation message.  Use this file to
  67.   designate any special rules, the posting-address, etc.
  68.  
  69.   In the second instance, LISTSERV is a little more interactive with
  70.   the user.  The user can request HELP; help will be given.  If
  71.   LISTSERV.HLP exists, it will be shown; otherwise, the default text is
  72.   given in English.  Users can subscribe and desubscribe to mailing
  73.   lists; the mailing list names have to be 8 character or less and
  74.   contain only letters, numbers, and dashes.
  75.  
  76.   When a user SUBSCRIBES or UNSUBSCRIBES, a check for the mailing list
  77.   name (LISTNAME.ML; etc) is made.  If it is there, the function will
  78.   be processed.
  79.  
  80.   Upon the return to GIGO, GIGO will check to see if FUNCTION.REQ was
  81.   made.  LISTSERV generates that file, and GIGO will happily send
  82.   it to the remote user.
  83.  
  84.  
  85. FILES YOU NEED TO MAKE:
  86.  
  87.   Note that "LISTNAME" may be subsitute with any 1-8 character name of
  88.   your choice, and is a generic term.
  89.  
  90.   LISTNAME.ML    : Actual list of email addresses (one address per
  91.                    line) of people that should be receiving messages
  92.                    related to this list.
  93.   LISTNAME.FAQ   : File given to anyone who subscribes the mailing
  94.                    list.  Should include conference rules; posting
  95.                    address;  contacts; etc.
  96.     ....
  97.  
  98.   LISTSERV.TXT   : Shown at the top of all responses made by the
  99.                    LISTSERV program.
  100.  
  101.   LISTSERV.IDX   : List of all mailing lists and their descriptions
  102.                    (simple ASCII file that is shown verbatim whenever
  103.                    a user requests the INDEX command).  If not
  104.                    available, the program will generate it's own
  105.                    index on the fly without descriptions.
  106.  
  107.   LISTSERV.HLP   : Help file shown when the user asks for HELP.
  108.                    Again, default help is available.
  109.  
  110.  
  111.  
  112. ABOUT THE SOURCE:
  113.  
  114.   The source code is written in Spagetti-C (tm), and is not terribly
  115.   big.  It compiled fine under Borland 3.1 (16 bit) with the large
  116.   memory model for me.  I'm not using anything fancy, this is a
  117.   quick-n-dirty program.  (A total of about 4 hours, if that..)
  118.  
  119.   The source should be able to provide you with a shell for other
  120.   function requests; you may be able to even make it into a more
  121.   powerful mailing list processor.
  122.  
  123.   This program and source code is Copyright 1993 by Jason Fesler.  All
  124.   rights reserved.  Use of this code is granted to the Public Domain.
  125.  
  126.  
  127.   jfesler@wmeonlin.sacbbx.com
  128.