home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / mlp09.zip / HINTS.DOC < prev    next >
Text File  |  1995-07-18  |  11KB  |  260 lines

  1. MLP - Mailing List Processor for OS/2 Version 0.9
  2.  
  3. ==========================================================================
  4. File:    hints.doc
  5. Date:    June 24, 1995
  6. Author:  Jivko Koltchev         <jivko@ijs.com>
  7. **************************************************************************
  8.  
  9.  
  10. This document is intended to give you some ideas as to how best make use
  11. and have fun with MLP. I will not be surprise if you do not like some
  12. of the details. I am sure some of you will come up with much better ideas
  13. and will appreciate it if you could forward them to me so I could include
  14. them in this document for others use them as well.
  15.  
  16. I also am aware that my English is not very good so if you feel like
  17. correcting some portions of the text, please do so.
  18.  
  19.  
  20.  
  21. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  22. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  23.  
  24. o. Messages are bouncing back and MLP is not rescheduling their
  25. o. Using MLP for retrieving information via e-mail
  26. o. Only the first address in the To: field will be used for determining 
  27.    mail list name. (this was a bug and has been fixed however the problem 
  28.    with copying multiple lists with the same e-mail persists)
  29.  
  30. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  31. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  32.  
  33.  
  34. o. Only the first address in the To: field will be used for determining 
  35.    mail list name. (this was a bug and has been fixed however the problem 
  36.    with copying multiple lists with the same e-mail persists)
  37.  
  38. ** Contributed by Michael Warmuth <Michael.Warmuth@wu-wien.ac.at> **
  39.  
  40.  Symptom:  When mail list address isn't the first one in the
  41.            To: field it will not be sent to the recipients.
  42.  
  43.  Problem:  Only the first address in the To: field will be used
  44.            for determining mail list name.
  45.  
  46.  Solution: By a very small modification of the sendmail.cf the
  47.            Received: field can be changed to reflect the userid
  48.            of the recipient (mail list name). The second line
  49.            of the Received: field has the verb "for" in it and
  50.            the next word is the plain username.
  51.            This should be the part of the header where the list
  52.            name is determined from. Only if this field isn't
  53.            available the usual prcedures (as used now) should be
  54.            invoked.
  55.  
  56.  - begin: part of the manual for SHUFFLE (shuffle.doc) by D.L. Meyer -
  57.  
  58.  Modifying the SENDMAIL.CF file:
  59.  
  60.  In order to properly process 'Blind Carbon-Copies' and mail without a "To:
  61.  line, a small modification is required in the SENDMAIL.CF file on your    
  62.  OS/2 machine.  On most implementations of Sendmail on multi-user machines,
  63.  the "Received:"  line(s) contain a field "for userid" (or "for            
  64.  userid@host") to signify the intended recipient.  Since OS/2 is intended  
  65.  to be a single-user system, IBM decided to omit this property in its      
  66.  implementation of Sendmail -- making the assumption that any mail arriving
  67.  was meant for whoever was using the machine.  This doesn't mean that IBM's
  68.  OS/2 Sendmail is incapable of doing it, however, it just means that we    
  69.  must tell it to.                                                          
  70.  
  71.  While we would like to have Sendmail use the "for userid@host" format, the
  72.  current versions of OS/2 Sendmail do not seem to provide this capability. 
  73.  But it does allow use of the "for userid" format, fortunately             
  74.  
  75.  Here's how we make the change to include the "for userid" field --
  76.  
  77.  From an OS/2 command prompt, type:
  78.  
  79.    copy %etc%\sendmail.cf %etc%\sendmail.bak <Return>
  80.  
  81.  This makes a backup copy, in case something goes awry.  Now type:
  82.  
  83.    e %etc%\sendmail.cf <Return>
  84.  
  85.  When the editor loads and the file is loaded, search for the text 
  86.  "Received:". (Select [Edit]->[Find], and type in "Received:", pressing 
  87.  [OK] when done.) The search should locate pair of lines closely resembling
  88.  the following:
  89.  
  90.    HReceived: $?sfrom $s $.by $j ($v/$Z)
  91.           id $i; $b
  92.  
  93.  (The second line is a continuation of the first.)
  94.  
  95.  Now, change the second line to read:
  96.  
  97.           $?ufor $u; $.id $i; $b
  98.  
  99.  (Actually the added text, "$?ufor $u; ", can be placed anywhere in the 
  100.  second line, or at the end of the 1st line.  I recommend the second line, 
  101.  however, since the first line gets pretty long already.)
  102.  
  103.  After the change is complete, save the file and exit.  (Select 
  104.  [File]->[Save], then [File]->[Exit].)  Be sure to kill & restart the
  105.  Sendmail server process (or simply shutdown & restart your machine) in
  106.  order to place the changes into service.
  107.  - end: part of the manual for SHUFFLE (shuffle.doc) by D.L. Meyer -
  108.  
  109.  
  110. o. Messages are bouncing back and MLP is not rescheduling their
  111.    delivery.
  112.  
  113.    The default configuration of sendmail is such that it will not
  114.    place any messages into the queue if they cannot be delivered
  115.    at the moment. Unfortunately in sendmail will return error level
  116.    equivalent to success and MLP will not be able to reschedule
  117.    delivery of that message. 
  118.  
  119.    The work around for this problem currently is changing the sendmail's
  120.    configuration so that it will place undeliverable messages into
  121.    its queue and attempt deliver them on a later time. Here is a quote
  122.    from the readme.bas file provided by IBM which describes how you
  123.    can set up this feature:
  124. -----------------------------------------------------------------------
  125.    16. SENDMAIL.CF Addition
  126.  
  127.  
  128.       You can add the OT option to the Options section of your SENDMAIL.CF
  129.       file.  YOU MUST use an editor (such as the E.EXE editor) that
  130.       preserves tabs!
  131.  
  132.       Use the OT option to tell the SENDMAIL program at your workstation how
  133.       to process mail to be delivered to a host that is currently not
  134.       receiving.  If you omit the OT option, the mail is deleted from the
  135.       queue when you next start SENDMAIL.  You can use the OT option to tell
  136.       SENDMAIL to keep the mail on its queue, and to continue trying to
  137.       resend it, for a specified period of time.
  138.  
  139.       The format of the OT option is:
  140.  
  141.                     OTxt
  142.  
  143.       OT        Code the characters OT as shown.
  144.  
  145.       x         This value tells SENDMAIL for how long to keep the mail in
  146.                 its queue for re-transmission.  Replace the "x" with a
  147.                 number specifying the number of hours, days, minutes, or
  148.                 weeks.
  149.  
  150.       t         This value tells SENDMAIL how often to resend to a server
  151.                 that failed.  Replace the "t" with a unit of time.
  152.  
  153.                 w         The x value is the number of weeks.
  154.                 d         The x value is the number of days.
  155.                 h         The x value is the number of hours.
  156.                 m         The x value is the number of minutes.
  157.  
  158.       Here is an example of the OT option that tells SENDMAIL to keep the
  159.       undelivered mail in its queue, and to keep trying to resend it, for 8
  160.       hours before deleting it from the queue.
  161.  
  162.          #####################################################################
  163.          # Options Timeout parameter:                                        #
  164.          # Causes notes, sent to a server that was down, to be queued        #
  165.          # for retry.  OTxt   Where x is a number and t is the timeout char: #
  166.          #   h-hours, d-days, m-minutes.                                     #
  167.          # Without the OTxt specification, the message does not get queued.  #
  168.          #####################################################################
  169.          OT8h
  170. -----------------------------------------------------------------------------
  171.    Make sure you edit the sendmail.cf file with editor that will preserve
  172.    all tabulation characters. If you prefer to use the EPM editor start
  173.    the editor with the following options:
  174.  
  175.         "epm /t sendmail.cf"
  176.  
  177.  
  178.  
  179. o. Using MLP for retrieving information via e-mail
  180.  
  181.    There multiple ways one could achieve this by using the command 
  182.    extensions MLP provides but I find one of those very attractive
  183.    and would like to describe it herein.
  184.  
  185.    I will assume HPFS partition, however it is easy to see that FAT 
  186.    partition could be used as well.
  187.  
  188.    Lets say the mailing list is named LIST and you have created the
  189.    following directory:
  190.  
  191.         LIST\info
  192.  
  193.    with ASCII text files:
  194.  
  195.         LIST\info\Item 1
  196.         LIST\info\Item 2
  197.         LIST\info\Item 3
  198.  
  199.    (On Spaces are OK and "Item n" could be any name that makes sense)
  200.  
  201.    At this point in the mailing list's home directory you can create
  202.    the following two CMD files:
  203.  
  204.         CONTENTS.CMD
  205.         RETRIEVE.CMD
  206.  
  207.    CONTENTS.CMD will be used when a mail is sent to the mailing list
  208.    with Subject: [contents] and will help the user to receive information
  209.    on the available at that moment topics.
  210.  
  211.    The simplest possible contents.cmd file should contain the following
  212.    commands:
  213.  
  214.         echo To retrieve any of the following items send e-mail to this >>%1
  215.         echo mailing list with 'Subject: [retrieve] ^<item name^>' >>%1
  216.         echo ----------- BEGIN ------------>>%1
  217.         dir /B LIST\info\* >> %1
  218.         echo ------------ END ------------->>%1
  219.  
  220.    RETRIEVE.CMD will be used when a mail is sent to the mailing list with
  221.    'Subject: [retrieve] <item name>' in order to deliver the requested
  222.    information back to whoever requested it.
  223.  
  224.    A simple retrieve.cmd file would look like the following:
  225.  
  226.  
  227.         IF NOT %3.==. GOTO CHECKIT
  228.         echo The [retrieve] command requires argument! >>%1
  229.         GOTO HELP1
  230.         :CHECKIT
  231.         IF EXIST LIST\info\%3 GOTO DOIT
  232.         echo The item you requested is not currently available.>>%1
  233.         :HELP1
  234.         echo Please send e-mail to this address with 'Subject: [contents]>>%1
  235.         echo to receive information on the available information items. >>%1
  236.         GOTO ENDCMD
  237.         :DOIT
  238.         echo Please find hereafter the information you requested. >>%1
  239.         echo ----------- BEGIN ------------>>%1
  240.         type LIST\info\%3 >> %1
  241.         echo ------------ END ------------->>%1
  242.         :ENDCMD
  243.  
  244.    You can certainly use much more complex scripts to provide SEARCH
  245.    capabilities etc. Keep in mind however that no matter how many words
  246.    follow the command in the Subject: line the script file will have
  247.    only tree arguments.
  248.  
  249.    Example:
  250.  
  251.         Subject: [retrieve] aaa bbb ccc ddd
  252.  
  253.         In this case the third argument of retrieve.cmd will be
  254.         "aaa bbb ccc ddd" and you should parse it in the script itself 
  255.         if your script file requires more than one user-specified
  256.         argument.
  257.  
  258.  
  259.  
  260.