home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / pofamu.zip / POFAMU.INF (.txt) < prev    next >
OS/2 Help File  |  1998-08-23  |  10KB  |  263 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. PMMAIL Offline Folder Archive and Maintenance Utility (ALPHA) ΓòÉΓòÉΓòÉ
  3.  
  4. This program is for the 'offline' maintenance of PMMAIL folders, meaning that 
  5. PMMAIL should not be running when it is invoked. It is designed for 
  6. user-programmers; i.e., not for the GUI-bred. The program is directed almost 
  7. entirely from a control file. 
  8.  
  9. The program allows the user to specify selection criteria for mail messages 
  10. using the fields maintained by PMMAIL in its index files. These criteria are 
  11. assigned Reserved Names by POFAMU such as From_name, From_addr and are used to 
  12. form boolean expressions.  These expressions are assigned user identifiers 
  13. called Spec-names. These Spec-names are used to assign specified actions to 
  14. selected groups of messages. 
  15.  
  16.  
  17. ΓòÉΓòÉΓòÉ 2. Installation ΓòÉΓòÉΓòÉ
  18.  
  19. This isn't a GUI program, so I haven't considered building a desktop object for 
  20. it, as part of installation.  Just copy POFAMU.EXE to any directory in your 
  21. PATH statement.  You might want to copy a program template to the desktop and 
  22. build an object that references your 'daily' control file in the Parameters 
  23. field. 
  24.  
  25. Using any ASCII text editor, edit your control file and place it in the working 
  26. directory referenced by the new program object. 
  27.  
  28. You might want to add the invocation to your 'chron' or 'alarm clock' program 
  29. if you are running round the clock. 
  30.  
  31.  INFO-ZIP and UNZIP are required for operation of the Archive function. 
  32.  
  33.  
  34. ΓòÉΓòÉΓòÉ 3. Control File ΓòÉΓòÉΓòÉ
  35.  
  36. Using the configuration and rules information in the control file specified in 
  37. the invocation argument, manipulate the PMMail folders therein described. 
  38.  
  39.  
  40. ΓòÉΓòÉΓòÉ 3.1. Keywords ΓòÉΓòÉΓòÉ
  41.  
  42. Control file statements have the form of keyword = value, one per line. The 
  43. operands of these statements are case insensitive, treated as upper-case, when 
  44. not within a quoted string. 
  45.  
  46. Order IS important, since the Basedir entry is required prior to any Account or 
  47. Folder statements. Whitespace is the only delimiter for tokens within these 
  48. statements.  Tabs and blanks constitute (normal) whitespace. 
  49.  
  50. Only interlinear (# in 1st char) comments are allowed. 
  51.  
  52. Possible statement keywords: 
  53.  
  54.  Mode 
  55.            CheckOut, Run, or Force, defaults to CheckOut.  CheckOut allows the 
  56.           user to test his/her control file prior to use. 
  57.  
  58.  Logmode 
  59.            Audit or Silent or Warn or Debug - how verbose the output, defaults 
  60.           to 'Audit'. 
  61.  
  62.  Base 
  63.           like e:\southsde\pmmail  - your root PMMail directory; This is a 
  64.           required parameter.  The directory where pmmail.exe is stored. 
  65.  
  66.  specname 
  67.           boolex << relop '{' boolex >  relop boolex '}' > specnames 
  68.  
  69.  Account 
  70.           "Internal Account-Name". Begin processing the specified account. 
  71.           PMMAIL has a habit of corrupting the account name by shifting a 
  72.           control character into the the first character position of the name. 
  73.           If you receive an "Invalid Account" error, view ACCT.INI with a 
  74.           binary editor and check out the characters beginning x'80' offset 
  75.           from the string 'DACCTNAME'.  Include this character within the 
  76.           quoted string for account-name. 
  77.           All following specifications until the next Account keyword will 
  78.           apply to this account. 
  79.  
  80.  Folder 
  81.           "Internal Folder-Name" Nested folders are designated via multiple 
  82.           strings; i.e. "Friends" "Joe". All statements following this one 
  83.           apply to this folder. These statements will all be of the form: 
  84.           'action' = specification-name-list 
  85.  
  86.  
  87. ΓòÉΓòÉΓòÉ 3.2. Selection Criteria ΓòÉΓòÉΓòÉ
  88.  
  89. The boolean expressions used by POFAMU are of the form: 
  90.  
  91. Reserved Word Operator Constant 
  92.  
  93. The Reserved words are: 
  94.  
  95. Subject 
  96.           The subject line as stored in the FOLDER.BAG file. If the specified 
  97.           constant string is a case-insensitive substring of this Subject line 
  98.           than it is considered equal ('='). 
  99.  
  100. From_name 
  101.           The name (if any) in the From: line of the header. If the specified 
  102.           constant string is a case-insensitive substring of this From_name, 
  103.           than it is considered equal ('='). 
  104.  
  105. From_addr 
  106.           The email address (if any) in the From: line of the header. If the 
  107.           specified constant string is a case-insensitive substring of this 
  108.           From_addr, than it is considered equal ('='). 
  109.  
  110. To_addr 
  111.           The email address (if any) in the To: line of the header. If the 
  112.           specified constant string is a case-insensitive substring of this 
  113.           To_addr, than it is considered equal ('='). 
  114.  
  115. To_name 
  116.           The email address (if any) in the To: line of the header. If the 
  117.           specified constant string is a case-insensitive substring of this 
  118.           To_name, than it is considered equal ('='). 
  119.  
  120. Status 
  121.           The constants for comparison must be Read, Unread, Replied, or Sent. 
  122.           This is the current FOLDER.BAG state of the message. 
  123.  
  124. Size 
  125.           The constants for size comparison must be numbers of bytes, without a 
  126.           'k' or 'm' suffix. 
  127.  
  128. Age 
  129.           This value means the age in hours of the message.  The difference 
  130.           between the current date/time and date/time stored in FOLDER.BAG. The 
  131.           suffix 'd' or 'h' is mandatory. 
  132.  
  133.  
  134. ΓòÉΓòÉΓòÉ 3.3. Action Statements ΓòÉΓòÉΓòÉ
  135.  
  136.  Actions are of the form: 
  137.  
  138. action-name = specname <..specname> <Account-specifier> 
  139.  
  140. The built-in actions are Move, Delete, Archive, and Copy. 
  141.  
  142.  Archive = specname <..specname> 
  143.                         Messages meeting the criteria of any of the 
  144.                         specification names are ZIP-moved into the file 
  145.                         POFAMU.ZIP in the affected folder directory. The 
  146.                         message file is deleted. A file POFAMU.BAG within the 
  147.                         POFAMU.ZIP file is in standard PMMAIL index format. 
  148.  
  149.  Delete = specname <..specname> 
  150.                         Messages meeting the criteria of ANY of the 
  151.                         specification names in the list 
  152.  
  153.  Move = specname account-name 
  154.                         Messages meeting the criteria of the single 
  155.                         specification are moved to the specified account and 
  156.                         folder.  If account-name is given as '=', then the 
  157.                         current account is assumed. 
  158.  
  159.  Copy = specname account-name 
  160.                         Copy is not implemented currently. 
  161.  
  162. It is highly recommended that you test any new or modified control files with 
  163. Mode = CheckOut before using Mode = Run. If fact, you might want to leave the 
  164. Mode command out of your control file altogether.  When you truly want to 
  165. commit the changes, use Run as the second command line argument. 
  166.  
  167.  
  168. ΓòÉΓòÉΓòÉ 3.4. Syntax ΓòÉΓòÉΓòÉ
  169.  
  170.  account-name ::: PMMail internal account name | '=' (for current account) 
  171.  
  172.  folder-name ::: PMMail internal folder name 
  173.  
  174.  time_val ::: number || tqal 
  175.  
  176.  tqal ::: 'd' or 'h'  days or hours 
  177.  
  178.  boolex :::  key_id operator comparator 
  179.  
  180.  operator ::: '=' or '>' or '<' or '<>' 
  181.  
  182.  comparator ::: "string" or number 
  183.  
  184.  relop ::: 'AND' or 'OR' 
  185.  
  186.  key_id ::: Age or From_addr or From_name or Status or Size or To_addr or 
  187. To_name or Subject 
  188.  
  189.  'OR' logic has not yet been tested.  So don't expect it to work. 
  190.  
  191.  ( For Status, the 'number' may be 'Unread', 'Read', 'Replied' , 'Sent',     or 
  192. 0, 1, 2, or 3 ) 
  193.  
  194.  
  195. ΓòÉΓòÉΓòÉ 4. Command Line ΓòÉΓòÉΓòÉ
  196.  
  197.  Invoke the program like so%colon. 
  198.  
  199.   pofamu  control-file-path  <runmode> 
  200.  
  201.  Control-file-path is mandatory.  Runmode is optional and overrides the value 
  202. in the control file. 
  203.  
  204.  
  205. ΓòÉΓòÉΓòÉ 5. Sample Control File ΓòÉΓòÉΓòÉ
  206.  
  207. # initial test configuration file
  208. #
  209. # Base directory for PMMAIL folders
  210. # must specify where to start looking
  211.   Base = e
  212.   Hale_3day =  { From_name = "Haley Landers" } AND { Age > 3d }
  213.   Golden_3day   =  { From_name = "Dave Goldenbugle" }  AND { Age > 3d }
  214.   Rick_3day   =  { From_name = "Rick G. Shepherd" }  AND { Age > 3d }
  215.   THE_author = { From_name = "Mark Hessling" }
  216.   Humor =  From_name = "west@ib"
  217.   Weekold =  Age > 7d
  218.   TwoWeekOld = Age > 14d
  219.   MonthOld = Age > 30d
  220.  
  221. # We have two accounts that are actively in use
  222.   Account = "Dave's Mail"
  223.  
  224.     Folder = "Trash"
  225.       Move =   Bobs_3day =  "Friends"  "Bob"
  226.       Move =   Paul_3day =  "Friends"  "Bash"
  227.       Move =   Hale_3day =  "Friends"  "Hale"
  228.       Move =   Golden_3day =  "Friends"  "Goldenbugle"
  229.       Move =   Rick_3day =  "Friends"  "Rick"
  230.       Move =   THE_author =  "Programming"  "Hessling"
  231.       Move =   Humor = "Humor"
  232.       Delete = TwoWeekOld
  233.  
  234.     Folder = "Sent Mail"
  235.       Delete = MonthOld
  236.  
  237.     Folder = "Programming" "MVS-OE"
  238.       Archive = Weekold
  239.  
  240.   Account = "Trish's Mail"
  241.  
  242.     Folder = "Trash"
  243.     Delete = TwoWeekOld
  244.  
  245.  
  246. ΓòÉΓòÉΓòÉ 6. Problem Diagnosis ΓòÉΓòÉΓòÉ
  247.  
  248. Beginning with version 1.9, if an exception occurs during operation, POFAMU 
  249. will output a short message and produce a file M2DUMP.000 in the 'Base' 
  250. directory for PMMAIL.  If the reason for the exception isn't apparent, zip this 
  251. file and PMMAIL/Attach it to a message sent to the author. 
  252.  
  253.  
  254. ΓòÉΓòÉΓòÉ 7. Author ΓòÉΓòÉΓòÉ
  255.  
  256. This code is the work of : 
  257.  
  258.  
  259.     Dave Serls
  260.  
  261.     Internet: dave@dashs.denver.co.us
  262.  
  263.