home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / mailers / wimm120p.zip / WIMM.DOC < prev    next >
Text File  |  1993-07-03  |  14KB  |  527 lines

  1.  
  2.  
  3.                                *
  4.  
  5.                          WIMM/2 v1.20
  6.  
  7.                       Where Is My Mail ?!
  8.  
  9.                  (c) 1992,93 Gerard van Essen
  10.  
  11.               A personal mail scanner for Squish
  12.  
  13.            Squish is a trademark of Scott J. Dudley
  14.  
  15.        WIMM uses the Squish MSGAPI made by Scott Dudley
  16.  
  17.                                *
  18.  
  19.                                *
  20.  
  21.                          -------------
  22.                          What is WIMM?
  23.                          -------------
  24.  
  25.  
  26. WIMM (short for "Where Is My Mail") is a personal mail scanner
  27. for Squish. It is designed to be used together with the Squish
  28. echomail processor made by Scott Dudley.
  29.  
  30. It will read your Squish configuration file (Squish.cfg) and
  31. scan all echomail areas listed (or all areas found in a
  32. 'echotoss.log' file), for mail addressed to you. When it finds
  33. a personal message it will move or copy the message to another
  34. area, or make a list of all messages found and post that list
  35. in a message.
  36.  
  37. WIMM can be useful in several ways. Maybe you are just as
  38. curious as I am, and want to know if there is personal mail as
  39. soon as possible, without having to read all messages.
  40. Or maybe there's so much mail on your system, that you can't
  41. ever read it all.. Or maybe you just want to keep your
  42. personal messages in a seperate area...
  43.  
  44.  
  45.                          -------------
  46.                          Main features
  47.                          -------------
  48.  
  49. *    Reads Squish.cfg.
  50. *    If applicable, reads Areas.bbs as well.
  51. *    Optionally reads echotoss.log file and scans only areas
  52.      listed in that file.
  53. *    Scans both *.MSG and Squish style message areas.
  54. *    Moves, copies or lists personal messages.
  55. *    Accepts more than one name to scan for.
  56. *    Optionally marks found messages as "received".
  57. *    Scans messages from lastread pointer, or all messages in
  58.      the area.
  59.  
  60.  
  61.                        ----------------
  62.                        Copyright stuff.
  63.                        ----------------
  64.  
  65. I'll keep this short: this program is free for all to use. 
  66.  
  67. You are NOT allowed to:
  68.  
  69. - sell this program for a profit.
  70. - modify it, or
  71. - distribute it in modified form.
  72. - etc., etc.
  73.  
  74. Hopefully you catch my drift..
  75.  
  76. Use this program at your own risk, the author can not be held
  77. responsible for any damage WIMM might cause.
  78.  
  79.  
  80.                       ------------------
  81.                       How do you run it?
  82.                       ------------------
  83.  
  84.  
  85. That's easy! Just edit WIMM.CFG and type WIMM. 
  86.  
  87.  
  88.                       ------------------
  89.                       WIMM.CFG reference
  90.                       ------------------
  91.  
  92. WIMM.CFG is the default name of the configuration file. The
  93. configuration file may contain comments. On a comment line the
  94. first non-space character should be a semi-column ';'.
  95. Example:
  96.  
  97. ; This is a comment line..
  98.  
  99. If a line is not a comment, it should contain a keyword.
  100. Keywords are not case sensitive, so "Name" is interpreted the
  101. same as "name" or "NaME".
  102. Every keyword is followed by a 'value':
  103.  
  104. <keyword>     <value>
  105.  
  106. like:
  107.  
  108. Name          "Gerard van.Essen"
  109. Mode          List
  110. etc.
  111.  
  112.  
  113.             --------------------------------------
  114.             Keywords in WIMM's configuration file.
  115.             --------------------------------------
  116.  
  117.  
  118. SquishCfg
  119. ---------
  120.  
  121. This keyword tells WIMM where to look for the Squish
  122. configuration file. Specify both path and name here.
  123.  
  124. Example:
  125.  
  126. SquishCfg      C:\Squish\Squish.cfg 
  127.  
  128.  
  129.  
  130. Name
  131. ----
  132.  
  133. This tells WIMM what names to look for in the TO: field of the
  134. messages. You can supply as many names as you like. Please put
  135. double quotes around the names. The name search is not case-
  136. sensitive, so "Joe SysOp" will have the same effect as "joe
  137. sysop".
  138.  
  139. Example:
  140.  
  141. Name           "Gerard van Essen" 
  142. Name           "gerard van.essen" 
  143. Name           "Art"
  144.  
  145.  
  146. WimmArea
  147. ---------
  148.  
  149. This is the location of the area where WIMM should list, move
  150. or copy the personal messages.
  151.  
  152. Example:
  153.  
  154. WimmArea     D:\Local\Personal
  155.  
  156.  
  157. WimmType
  158. ---------
  159.  
  160. This is the type of the WimmArea. This can be either "Squish"
  161. or "*.MSG".
  162.  
  163. Example:
  164.  
  165. WimmType    Squish
  166.  
  167.  
  168.  
  169. Mode
  170. ----
  171.  
  172. This tells WIMM what to do with the personal messages. This
  173. can be:  
  174.  
  175. - LIST:    WIMM will post a message with a list of all
  176.            personal messages. It will also give you the
  177.            current message number. Note, hoewever, that due
  178.            to Squish' "dynamic renumbering" feature, this
  179.            number is not necessarily correct (anymore).
  180.  
  181. - COPY:    WIMM will copy all personal messages to WimmArea.
  182.  
  183. - MOVE:    WIMM will move all personal messages to WimmArea.
  184.  
  185. Example:
  186.  
  187. Mode List 
  188.  
  189.  
  190. MarkReceived
  191. ------------
  192.  
  193. This tells WIMM if the personal messages that are found should
  194. be marked "received". If WIMM finds a personal message that
  195. has the "received" flag set, it will skip that message. So, if
  196. you set this to "Yes", personal messages will only be moved,
  197. copied or listed once. (For 'move' this is quite redundant ;-)
  198. This can be either Yes or No.
  199.  
  200. Example:
  201.  
  202. MarkReceived Yes
  203.  
  204.  
  205. ScanFrom
  206. --------
  207.  
  208. This keyword changes which messages are scanned by WIMM. If
  209. this is set to "LastRead", WIMM will scan the messages AFTER
  210. the lastread pointer in each area. 
  211. The lastread pointer will be taken from a file called
  212. "lastread" (for *.msg areas) or from the appropriate *.SQL
  213. file (Squish areas, the first lastread pointer from that file
  214. is used).
  215.  
  216. Note for GoldED users: if "Scanfrom Lastread" doesn't seem to
  217. work, check out the GoldED documentation for the SQUISHUSERNO
  218. keyword. WIMM's 'Lastread' feature will work with SQUISHUSERNO
  219. set to 0.
  220. GoldED sometimes seems to do complicated things with a
  221. USER.BBS file and lastread-file offsets, even in a single user
  222. environment without a BBS (!).
  223.  
  224.  
  225.  
  226. If "Lastread" is set to "All", WIMM will ignore the lastread
  227. pointer and always scan all messages. (If you use this, it's
  228. probably wise to set MarkReceived to "Yes").
  229. So, this can be either "LastRead" or "All".
  230.  
  231. Example:
  232.  
  233. ScanFrom LastRead
  234.  
  235.  
  236. EchoArea
  237. --------
  238.  
  239. This declares an extra area to be scanned. The format is the
  240. same as the EchoArea keyword in Squish.CFG.
  241.  
  242. Default behaviour:
  243.  
  244. *    By default, WIMM will not scan the Netmail area. 
  245. *    The 'Dupes' area is always skipped (unless you
  246.      specifically 'Force' it). 
  247. *    The Bad_Msgs is scanned, it is treated like a normal
  248.      echomail area.
  249.  
  250. So, if you would like WIMM to scan the netmail area (or any
  251. other area not listed in your Squish configuration file) as
  252. well, you should declare it manually in WIMM.CFG.
  253.  
  254. Example:
  255.  
  256. EchoArea  Netmail   C:\Bink\Netmail -$
  257.  
  258.  
  259. Attributes
  260. ----------
  261.  
  262. With 'Attributes' you can specify the attributes that should
  263. be placed on a moved, copied or 'list' message in the
  264. WimmArea. The original message will not be changed, except for
  265. possibly adding the 'received' status (if 'Markreceived' is
  266. set to 'Yes').
  267. For the message in the WIMMarea, WIMM will clear the
  268. attributes, and add the ones you specify with the 'Attributes'
  269. keyword.
  270.  
  271. Options:
  272.  
  273. P - Private
  274. S - Sent
  275. C - Scanned
  276. L - Local
  277.  
  278. Example:
  279.  
  280. Attributes      SCP
  281.  
  282.  
  283.  
  284. Log
  285. ---
  286.  
  287. The Log statement will let WIMM log the scanned areas,
  288. personal messages and errors in logfile. If no log is
  289. specified, there will be no logfile. Please specify full path
  290. and filename.
  291.  
  292. Example:
  293.  
  294. Log C:\Squish\Wimm.log
  295.  
  296.  
  297. Exclude
  298. -------
  299.  
  300. With EXCLUDE you can prevent areas from being scanned. You can
  301. specify 1 area for every exclude line. Use the areatag to
  302. specify the echo.
  303.  
  304. Example: 
  305.  
  306. Exclude MUFFIN
  307.  
  308. This will prevent MUFFIN from being scanned.
  309.  
  310. There is also very limited wildcard support. You can use '*'
  311. as a wildcard. It can _only_ be the first or the last
  312. character!
  313.  
  314. Examples: 
  315.  
  316. Exclude *028
  317.  
  318. This will prevent all areas with a tag ending with 028 (like
  319. points.028, basic.028 etc) from being scanned.
  320.  
  321. Exclude BASI*
  322.  
  323. This will exclude areas starting with BASI (like BASIC,
  324. BASIC.028..). 
  325.  
  326. You can have as many 'Exclude' statements as you like.
  327.  
  328.  
  329. Force 
  330. -----
  331.  
  332. With FORCE you can have WIMM scan a certain area on every run.
  333. This is useful when using the -F command line switch, for
  334. example if you want the netmail area to be scanned (the
  335. netmail area will _never_ appear in an echotoss.log file!).
  336. You can have as many 'Force' statements as you like.
  337. Force has the same wildcard support as Exclude.
  338.  
  339. Example:
  340.  
  341. Force Netmail
  342.  
  343.  
  344.  
  345. Notes
  346. -----
  347.  
  348. 'NOTES No' will prevent WIMM from putting a 
  349.  
  350. '--> Note: Copied by...'  
  351.  
  352. message at the top of every moved or copied message.
  353. This is useful if you use WIMM to move netmail for Areafix and
  354. Raid etc. from a large, fast Squish netmail area to a nearly
  355. empty  *.MSG area.. (so areafix and raid run much faster).
  356. This can be either 'Yes' or 'No'.
  357.  
  358. Example:
  359.  
  360. Notes Yes
  361.  
  362.  
  363.                     ----------------------
  364.                     Command line switches.
  365.                     ----------------------
  366.  
  367. There are two command line switches that can be used for WIMM:
  368.  
  369. -C : This gives path and name of an alternative configuration
  370.      file. The default configuration file is WIMM.CFG in the
  371.      current directory. 
  372.  
  373. Example:
  374.  
  375. WIMM -Cc:\dl\mycfg.cfg
  376.  
  377. This uses c:\dl\mycfg.cfg as configuration file.
  378.  
  379.  
  380. -F : This gives the path and name of a "echotoss.log" file.
  381.      The areatags from this file will be read, and only the
  382.      corresponding areas will be scanned for personal
  383.      messages.
  384.  
  385. Example:
  386.  
  387. WIMM -Fc:\squish\echotoss.log
  388.  
  389. In this case the file c:\squish\echotoss.log will be used.
  390.  
  391.  
  392. Of course, you can also use both switches together, like:
  393.  
  394. WIMM -Cmycfg.cfg -Fc:\squish\echotoss.log
  395.  
  396.  
  397.  
  398.                --------------------------------
  399.                Using WIMM as an aid for Areafix
  400.                --------------------------------
  401.  
  402. It is possible to 'abuse' WIMM, and use it as an aid for
  403. Areafix. Some systems have a very large netmail area, that
  404. would be a perfect candidate for the (fast) Squish format, if
  405. it weren't for the fact that Areafix and Raid do not support
  406. Squish-style netmail areas..
  407. However, squish will let you define more than one netmail
  408. area. 
  409. If you make your first, primary netmail area a Squish-style
  410. area, and setup WIMM to scan for messages addressed to 'Raid'
  411. and 'Areafix', WIMM can move these messages from this Squish-
  412. style area to a (second) *.MSG netmail area.
  413.  
  414. In this setup, WIMM will do a (fast) scan on the Squish-style
  415. netmail area, and Areafix and Raid only have to scan a few
  416. messages in the (second) netmail area.
  417.  
  418. Here's the WIMMFIX.CFG I use:
  419.  
  420. -=-
  421.  
  422. EchoArea        Netmail    C:\FD\Netmail\netmail -$
  423. NAME            "Raid"
  424. NAME            "Areafix"
  425. WimmArea        C:\FD\netfix
  426. Wimmtype        *.MSG
  427. Mode            Move
  428. ScanFrom        All
  429. Attributes      P
  430. Log             C:\Extern\log\Wimmfix.log
  431. Notes           No
  432.  
  433. -=-
  434.  
  435. Messages for 'Areafix' and 'Raid' will be moved from
  436. C:\FD\Netmail\netmail (my primary, Squish-style netmail area)
  437. to C:\FD\Netfix (my secondary, *.MSG netmail area).
  438.  
  439. All messages will be marked private. *Don't* mark them as
  440. 'Local', or Raid will not process them - at least not in the
  441. (old) version I use..
  442.  
  443. Finally, 'Notes No' will prevent WIMM from putting the 'Moved
  444. by..' message on top of the moved messages, so Areafix or Raid
  445. will not get confused :-)
  446.  
  447. After every mail-exit, I run "Wimm -cWimmfix.cfg".
  448.  
  449. Update note: I made a new program (NetMgr) that can do this and much
  450. more. It is better to use NetMgr for such things.
  451.  
  452.                     -----------------------
  453.                     Some 'technical' stuff.
  454.                     -----------------------
  455.  
  456. WIMM was written using Borland C++ for OS/2, although the '++'
  457. extensions were not used.
  458.  
  459. The program relies heavily on the Squish MSGAPI by Scott
  460. Dudley.
  461. The MSGAPI is very easy to use, and as a result even a novice
  462. programmer (I'm still not very experienced..) can make useful
  463. programs (I hope ;-).
  464.  
  465. In Squish areas WIMM tries to read the indexes directly (so it
  466. does NOT use the MsgApi there..!). WIMM gains a lot of speed
  467. by doing this (instead of physically reading all message
  468. headers or opening the area the 'standard' way using the
  469. MSGAPI).
  470. Usually this doesn't make any difference (except for the
  471. speed), but there is one exception: in areas that are in fact
  472. empty, but _did_ contain messages in the past, it is possible
  473. that WIMM is a bit confused and says there are in fact
  474. messages scanned in that area. 
  475. This hardly ever happens, and will not cause WIMM to
  476. malfunction (i.e.: miss any personal messages). If it bothers
  477. you, use WIMM 1.00, and miss out on the extra speed :-)
  478. (Or just delete the .SQI file for that area. If the area
  479. doesn't contain any messages, that won't be a problem).
  480.  
  481. Apart from that you might miss personal messages if your
  482. indexes are 'corrupt'.
  483.  
  484.  
  485.                             -------
  486.                             Thanks!
  487.                             -------
  488.  
  489. Thanks to...
  490.  
  491. *    ROn van der Nagel (2:500/133) and some of his points for
  492.      betatesting.
  493.  
  494. *    Lawrence Pit for betatesting.
  495.  
  496. *    Don Dawson (my sales manager for the USA and Canada :-),
  497.      somehow he always manages to find loads of bugs..
  498.  
  499. *    Scott Dudley for Squish, Maximus, Msgapi..
  500.  
  501. *    Everyone who sent me netmail about WIMM. A nice 'thank
  502.      you' netmail from 'far away' can really make my day!
  503.      It's only because of some enthusiastic netmails that I
  504.      decided to work on a new version of WIMM (yep, Don
  505.      Dawson again, and also quite a few others!)
  506.  
  507.  
  508.             --------------------------------------
  509.             Feedback, bugs, complaints, donations.
  510.             --------------------------------------
  511.  
  512. The author can be reached at his BBS:
  513.  
  514. Name      :  Contrast BBS
  515. Location  :  The Hague, The Netherlands.
  516. Tel       :  31-70-3234903
  517. FidoNet   :  2:281/527 (V22/22bis/32/32bis/42/42bis)
  518.  
  519.  
  520. Or via snailmail:
  521.  
  522. Gerard van Essen
  523. Leharstraat 67
  524. 2551 LB  Den Haag
  525. The Netherlands.
  526.  
  527.