home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / packet / g0bsx / servers.doc < prev    next >
Text File  |  1989-11-30  |  13KB  |  318 lines

  1. Part 1: The G0BSX SMTP <-> Mailbox Interface: SYSOP Documentation.
  2. =================================================================
  3.  
  4. 1. Introduction.
  5. ---------------
  6.  
  7. The G0BSX SMTP <-> Mailbox interface is a general purpose message and bulletin
  8. import/export system that allows export of mail and bulletins to and from SMTP
  9. messages for the W0RLI server system.
  10. The EXPORT system to SMTP allows specific selection of messages on
  11. the To, From and At fields addressed to specific and, if desired, different
  12. and complex addresses.
  13. The IMPORT system from SMTP allows the sending of private mail and bulletins
  14. using the same simple syntax. See the file: SMTPMBX.DOC for the use
  15. documentation on how this is achieved.
  16. RFC 822 Header compatibility is assumed and all EXPORT and IMPORT commands
  17. must specify this. Also read the file: DIRS.DOC for info on how I have
  18. organised my mailbox directory structure - this may be useful to ease the
  19. workings of your mailbox maintenance.
  20.  
  21. 2. Installation Procedure.
  22. -------------------------
  23.  
  24. i) Copy the following files to your \MB Directory:
  25.    SMTPX.COM
  26.    SMTPI.COM
  27.    SMTPBULL.LST
  28.    SMTPMAIL.LST
  29.    DOS.BAT
  30.    TIMER.EXE
  31.    TIMER.DAT
  32.    ROUND.COM
  33.  
  34.    Copy the following file to your \BBS directory:
  35.    SERVER.MB
  36.  
  37.    Copy the following files to your \MB\FWD directory:
  38.    TCPMAIL.FWD
  39.    TCPBULL.FWD
  40.  
  41. ii) Edit the file DOS.BAT to reflect YOUR choice of filenames and
  42.     Callsigns. See the file provided for the syntax and explanation for each
  43.     field. (Or you could leave it as is if you like!)
  44.  
  45. iii) Edit the file SMTPMAIL.LST to reflect the desires of your users as to what
  46.      Mail they would like delivered to them. See the file provided for syntax
  47.      and explanations.
  48.  
  49. iv) Edit the file SMTPBULL.LST to reflect the desires of your users as to what
  50.     Bulletins they would like delivered to them. Beware of sending them
  51.     EVERYTHING, it occupies a LOT of channel time!!
  52.  
  53. v) Copy the file: SERVER.MB into your \BBS directory.
  54.    This is the file that controls what Mailbox messages are exported into
  55.    text files used for input for the SMTPI.COM program. Edit it to alter the
  56.    callsigns to suit your clients. I use Norton Commander to Edit it since
  57.    I can control whether or not the last line (the ! DOS.BAT command) is
  58.    terminated by a carriage return (see below under NOTES for explanation)
  59.    I would recommend you leave it unchanged and put all the servers into a
  60.    \MB directory and create and maintain files called \MB\FWD\TCPMAIL.FWD
  61.    and \MB\FWD\TCPBULL.FWD which will contain all the callsigns and identifiers
  62.    that you wish to forward.
  63.  
  64. vi) Edit your distribution lists to add an identifier for bulletin export. I
  65.     use TCPIP and have that identifier in all my .DIS lists (or, at least, only
  66.     the ones where I want the bulletins to be exported!) The flexibility of
  67.     selection at both the Mailbox AND server level makes the system very
  68.     versatile. You can run the SMTPI server as many times as you like with
  69.     different sets of exported and selection files. Simply alter the file
  70.     DOS.BAT and generate export files for each time you call it!
  71.  
  72. vii) Alter your AUTOEXEC.NET file so that you have:
  73.      smtp mode queue
  74.      somewhere in it and NOT smtp mode route.
  75.  
  76. viii) Run SERVER.EXE in an appropriately sized window (110k). It should run all
  77.       the time in parallel with your mailbox windows.
  78.  
  79. 3. Notes:
  80. --------
  81.  
  82. It is possible to have a single export file and .LST file if desired by simply
  83. forwarding ALL mail and bulletins to the said file and combining the two files
  84. SMTPBULL.LST and SMTPMAIL.LST into one. However, I like to partition the work
  85. and therefore have separate calls for each task. Furthermore, I like to limit
  86. bulletin export to the early hours by using the TIMER function (provided with
  87. this software) and this can only be done if the functions are seperated.
  88.  
  89. There is a QUIRK in the version 10.01 W0RLI server in that only a SINGLE DOS
  90. batch file is allowed, it MUST be the last item, and it must not be followed
  91. by a carriage return! (Actually, there are 2 quirks. The other is a failure of
  92. the Server to IMPORT subject texts from valid RFC822 headers.) These have been
  93. fixed in versions after 10.03.
  94.  
  95. There is also a quirk in the SMTP mailer. If a user sends files with line
  96. lengths of MORE than 128 characters, these lines are summarily truncated.
  97. I cater for this on OUTGOING mail by using the ROUND.COM program, to trap
  98. and word wrap any such long lines at 80 characters. However, you will have
  99. to educate your users to limit their INCOMING mail line lengths to 128 chars
  100. since, once it has been through SMTP (as it does on the way in) there is no
  101. way of retrieving the excess characters.
  102.  
  103. 4. System Operation.
  104. -------------------
  105.  
  106. The SMTPX program simply looks at the \SPOOL\RQUEUE directory and imports ALL
  107. messages found there. Be careful, therefore, that you do not export messages
  108. to YOURSELF to SMTP since these may loop endlessly!!
  109.  
  110. The SMTPI program reads the specified import and host preferences files and,
  111. for each entry of the preferences file, scans the export file for a match. If
  112. a match is found, it puts a message in the \SPOOL\MQUEUE directory to the
  113. specified address at the specified host. Message number conflicts are correctly
  114. handled by manipulation of the SEQUENCE.SEQ file. All messages are also locked
  115. by the program until they are complete using a .LCK file so that SMTP does
  116. not attempt to access incomplete files should it be scanning the directory at
  117. the same time as the SMTPI program.
  118.  
  119. Please observe the syntax of the .LST files carefully, I have not yet made
  120. the program foolproof for errors in this file, though it will not fatally
  121. crash, it will simply not deliver the mail properly!
  122.  
  123. The export file is DELETED after SMTPI has successfully been run. Therefore,
  124. be sure to allow for all mail sent to the export file to have a corresponding
  125. entry in the .LST file, since if it does not, that mail will be lost.
  126.  
  127. Limitations:
  128. -----------
  129.  
  130. * The code is not yet "mil spec" so if you do encounter problems, PLEASE let
  131.   me know! I have not had it crash for some 18 months now but, then, I did
  132.   write the code and use it as I decided it to be used!
  133. * The System will also not cope with SMTP message numbers greater than
  134.   32767 (yet). Mailbox message numbers greater than 32000 are no problem.
  135.   if you get to this number, the best thing to do is simply erase the file
  136.   SEQUENCE.SEQ in the \SPOOL\MQUEUE directory to let it start at 1 again!
  137.   Or you can igmore it; the SMTP mailer will otherwise simply wrap around on
  138.   32767 anyway!!
  139. * NET.EXE also imposes some limitations on the number of files you can, at
  140.   any one time, have queued for SMTP. Each file in the \SPOOL\MQUEUE directory
  141.   requires about 50 bytes of heap memory in NET.EXE - a good practical upper
  142.   limit is about 200 queued messages at any time if it is run in a desqview
  143.   window. If you get more than this on bulletin exports, it may be wise to
  144.   insist on all bulletin receiving TCP/IP stations to be on 24hrs a day and
  145.   send them bulletins as they arrive by removing the TIMER control in the
  146.   DOS.BAT file.
  147.  
  148. Part 2: REQFIL and REQDIR Servers.
  149. =================================
  150.  
  151. Introduction:
  152. ------------
  153.  
  154. These drivers allow remote stations to retrieve files and directories from
  155. your system by sending it a message of the form:
  156.  
  157. SP REQDIR @ BBS       or   SP REQFIL @ BBS
  158. Pathspec                   PathSpec
  159. /EX                        /EX
  160.  
  161. The contents of any message are ignored, ONLY the title is used.
  162. PathSpec is either the name of a file or the name of a directory and must
  163. use MSDOS conventions. For example:
  164.  
  165. SP REQDIR @ GB7PLY
  166. .                    (OR nothing  OR *.*)
  167.  
  168. Will return the base directory of my texts section (defined in the REQxxx.DAT
  169. file (qv)). This will produce a file like:
  170.  
  171. Directory of .
  172. amsat\                date  time     amtor\              date time
  173. index         size    date  time
  174. etc...
  175.  
  176. all names followed by a \ character is a directory. to read this directory,
  177. the user sends:
  178.  
  179. SP REQDIR @ GB7PLY
  180. amsat
  181.  
  182. and so on.....
  183. To read a FILE, the path spec must include directory and filename, for example:
  184.  
  185. SP REQFIL @ GB7PLY
  186. amsat\dce.doc             NOTE: NO preceding "\" character.
  187.  
  188. will return the file "dce.doc" in the amsat directory. Directories can be
  189. nested as deeply as desired. NOTE: This does not corespond with the W0RLI
  190. flat directory system but then, I run TCP/IP as well and I do have a
  191. \PUBLIC\TEXTS\  directory which contain all my texts files directories.
  192. Subdirectories and requests can be nested as deep as you like within the
  193. limitation of 128 characters for the whole pathspec (IF your DOS environment
  194. will cope with that!) I also run the FILES server (qv) which emulates the
  195. W0RLI directory and file system.
  196.  
  197.  
  198. Installation:
  199. ------------
  200.  
  201. i) Make sure the supplied SERVER.MB file is in your \BBS directory. The
  202.    important bits are the two lines:
  203.    s reqdir \mb\reqdir.exe reqdir.out H8 reqdir.in H8
  204.    s reqfil \mb\reqfil.exe reqfil.out H8 reqfil.in H8
  205.  
  206. ii) Copy the files: REQDIR.EXE and REQFIL.EXE to your \MB directory.
  207.  
  208. iii) Copy the file REQxxx.DAT into your ROOT (\) directory. If it ain't there,
  209.      NOTHING will happen! Edit this file to reflect the directory where you
  210.      keep all the texts you will want your users to have access to. This
  211.      file will be expanded for later REQ drivers to contain other data as
  212.      required by these later versions.
  213.  
  214. iv) Now test the system by sending a message to REQDIR or REQFIL and give
  215.     the server a nudge to process it.
  216.  
  217. Notes:
  218. ------
  219.  
  220. There is a BUG in the W0RLI SERVER 10.01 that does not read the Subject: field
  221. of the RFC822 header and this is not properly handled although it will be when
  222. hank fixes the server - as he has done in later releases.
  223.  
  224. If you have ever used a MBL REQxxx system, you will know that MBL requires
  225. a "@ ReturnBBS" field after the filename or directory name. THIS IS NOT
  226. NECESSARY with this system and is, in fact, not desirable though the system
  227. does cope with it (by ignoring it!)
  228.  
  229. LIMITATIONS:
  230. -----------
  231.  
  232. There are a few minor bugs in the syntax handling of the REQDIR server....
  233. It does not like NOT having a field to work on if the receiving station
  234. inserts a return address as per WA7MBL format. If the return address in the
  235. subject field is omitted OR a search field is specified, e.g. *.* @ bbscall
  236. all seems to be o.k..... I will get round to fixing these somtime, i guess!
  237.  
  238.  
  239. Part 3: FILES Server.
  240. ====================
  241.  
  242. The FILES.EXE server is used in a similar fashion to the REQxxx servers above
  243. but with some distinct differences.
  244. i  - A W0RLI style directory listing is given by reading the CONFIG.MB file.
  245. ii - The SAME server gives both files and directories
  246.  
  247. Installation:
  248. -------------
  249.  
  250. 1. Copy the file: FILES.EXE into your \MB directory.
  251. 2. Make sure your SERVER.MB file contains the line:
  252.  
  253.     s files \mb\files.exe files.out H8 files.in H8
  254.  
  255.    The FWD.MB file supplied with this software is O.K.
  256. 3. Run SERVER.EXE in an appropriate window. (110k)
  257.  
  258. Usage:
  259. -----
  260.  
  261. Any message addressed TO FILES will be processed. If the title or the message
  262. contents contain valid W0RLI style directory or download commands, these are
  263. processed. The W0RLI D command has also been extended to allow selective
  264. downloading by specifying a range of line numbers.
  265.  
  266. For Example:
  267.  
  268. SP FILES @ GB7PLY
  269. FILES QUERY
  270. W
  271. /EX
  272.  
  273. will return the main directory of the GB7PLY W0RLI mailbox.
  274.  
  275. SP FILES @ GB7PLY
  276. WA
  277. WB
  278. WC
  279. /EX
  280.  
  281. will return the directories of areas A, B and C in 3 messages.
  282.  
  283. SP FILES @ GB7PLY
  284. Anything you like for the title, but it MAY be a command if you wish!
  285. DA BBSLIST.HF
  286. DC BSX1DRVR.BAS
  287. WZ
  288. /EX
  289.  
  290. will return 3 messages to you conatinging the file "BBSLIST.HF" in area A,
  291. the file BSX1DRVR.BAS from area C and the directory listing of area Z.
  292.  
  293. SP FILES @ GB7PLY
  294. FILES Query
  295. DA BBSLIST 10
  296. DA BBSLIST 10 20
  297. /EX
  298.  
  299. will return 2 messages, the first containing the FIRST 10 lines of the file
  300. BBSLIST, the second containing lines 10 to 20 of the file BBSLIST. To Get
  301. "all lines after line 20" use the syntax DA BBSLIST 20 99999  or some other
  302. huge number....
  303.  
  304. *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
  305.  
  306. Thats all Folks (phew!)
  307.  
  308. Good Luck. Any problems, please let me know:
  309.  
  310. Peter Meiring, G0BSX @ GB7PLY, Bsc(Hons), MB, ChB, MRCR.
  311.  
  312. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  313.  
  314. P.S.
  315. ---
  316. A version of the SMTP interface also exists for MBL mailboxes that does the
  317. same work as this one. (a little slower, though!)
  318.