home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / bbs / jmdev100 / jmdev100.txt next >
Text File  |  1993-07-28  |  13KB  |  424 lines

  1.  
  2.                     JetMail Developers Documentation
  3.  
  4.                              Version 1.00
  5.  
  6.                            for JetMail 1.00
  7.  
  8.  
  9.                         Last Update: 29-Jul-93
  10.  
  11.  
  12.  
  13.                        Copyright (C) 1992/93 by
  14.                     Daniel Roesen and Joerg Spilker
  15.                           All rights reserved
  16.  
  17.  
  18.  
  19. Contact:
  20.  
  21. Daniel Roesen
  22. Friedrich-Ebert-Strasse 24
  23. 56182 Urbar
  24. Germany
  25.  
  26. FidoNet        2:243/95.2@fidonet.org
  27. AtariNet    51:601/111@atarinet.ftn
  28. NeST        90:400/1031@nest.ftn
  29. InterNet    droesen@scary.fido.de
  30.  
  31. Phone:        +49-261-679202
  32. Fax:        +49-261-679220
  33.  
  34. Please don't call before 3:00am and later than 11:00pm and please note
  35. that if you are calling from foreign contries, there could be some time
  36. shiftings.
  37.  
  38. Joerg Spilker
  39. Brueckenstrasse 12
  40. D-32676 Luegde
  41. Germany
  42.  
  43. FidoNet        2:245/6207@fidonet.org
  44. AtariNet    51:601/102@atarinet.ftn
  45. NeST        90:4/0@nest.ftn
  46.  
  47.  
  48.  
  49.  
  50.  
  51. The JETMAIL environment variable
  52. ================================
  53.  
  54. JetMail searchs for it's auxilliary files in a special folder which is
  55. only for JetMail's system files. The default name is JETMAIL and must
  56. be located on the same hirarchical level as JETMAIL.TTP is. If you
  57. want to use another directory structure, you have to tell JetMail where
  58. the system folder is located and how it is named.
  59.  
  60. Example:    JETMAIL=G:\JETMAIL\
  61.  
  62.  
  63. JetMail's system files
  64. ======================
  65.  
  66. These files must be located in JetMail's system folder.
  67.  
  68. CONFIG.JM
  69. ---------
  70.  
  71. This is JetMail's main configuration file. Other utilitys may store
  72. additional setup information in this file by using the "External"
  73. keyword:
  74.  
  75. External    <prgid>    [<parm> <parm>...]
  76.  
  77. <prgid> is a unique program identifier and after this, zero or more
  78. parameters could follow. "External" works exactly as BinkleyTerm's
  79. "Application" keyword. All "External" lines are ignored by JetMail's
  80. configuration file parser.
  81.  
  82.  
  83. ROUTE.JM
  84. --------
  85.  
  86. This file contains mail routing rules for JetMail. Other utilitys may
  87. also include routing information for their own purpose after a single
  88. "Externals:" in the file. JetMail will ignore the whole rest of the
  89. file. To avoid overlappings of the syntax of keywords used by two
  90. different utilitys, the routing commands should be registered via
  91. Daniel Roesen or Joerg Spilker.
  92.  
  93.  
  94. DUPES.SYS
  95. ---------
  96.  
  97. In this file, the CRC-32 (calculated using polynom 0xedb88320) of the
  98. last recent imported echomail MSGIDs are stored. The file is a stream
  99. of ULONGs. The CRC checksum is calculated over the following part of
  100. the MSGID string:
  101.  
  102. ^aMSGID: 2:243/95.2@fidonet.org 1ed8a925
  103.          ^-----------------------------^
  104.  
  105. You can calculate the count of CRCs stored in DUPES.SYS as following:
  106.  
  107. count = filelength / sizeof(ULONG);
  108.  
  109.  
  110. MAILHIST.SYS
  111. ------------
  112.  
  113. This file contains information about inbound/outbound mail and file
  114. attach traffic of your system.
  115.  
  116. Structure if MAILHIST.SYS:
  117.  
  118. o Header (HISTHDR)
  119. o Info record(s) (MAILHIST)
  120.  
  121. The header contains a <magic> ("JetMail" plus terminating NUL byte),
  122. a <version> and a <subversion> number. An utility which reads MAILHIST.SYS
  123. _MUST_ check for a correct <magic> (case sensitive!) and a matching
  124. <version> number.
  125.  
  126. Changes in the <version> number indicates that the format of the MAILHIST
  127. structure has become incompatible to the old format. Utilitys supporting
  128. version 1 can't read version 2 MAILHIST.SYS files and vice versa.
  129.  
  130. Changes in the <subversion> number indicates that some of the reserved
  131. space in the MAILHIST structure has been used but the file remains
  132. compatible to the other MAILHIST.SYS file of the same <version>.
  133.  
  134. Also, the history header structure HISTHDR contains information about
  135. when the file was created and last updated in standard UNIX format
  136. (seconds since 01-Jan-1970).
  137.  
  138. All fields of the MAILHIST structure are self-explaining except of the
  139. <next> pointer which is used by JetMail internally for building a linked
  140. list.
  141.  
  142.  
  143. AREAHIST.SYS
  144. ------------
  145.  
  146. This file contains statistic information about your echomail areas.
  147.  
  148. Structure of AREAHIST.SYS:
  149.  
  150. o Header (HISTHDR)
  151. o Info record(s) (AREAHIST)
  152.  
  153. The header is exactly the same as in AREAHIST.SYS, but the version
  154. counting is independent from MAILHIST.SYS.
  155.  
  156. Fields of the AREAHIST structure:
  157.  
  158. Field        Description
  159. ----------------------------------------------------------------------
  160. <areatag>    Full name of the echomail area.
  161.  
  162. <last>        UNIX time code when the last message was imported or
  163.             exported in(to) this area.
  164.  
  165. <imported>    Count of message traffic.
  166.  
  167. <dupes>        Count of dupes received.
  168.  
  169. <tosysop>    Count of messages addressed to the sysop received.
  170.  
  171.  
  172. EXITINFO.SYS
  173. ------------
  174.  
  175. This file contains information about the last JetMail run. The format
  176. of EXITINFO.SYS is the structure EXITINFO.
  177.  
  178. Field        Description
  179. ----------------------------------------------------------------------
  180. <version>    Version of the EXITINFO structure. If an other version
  181.             number than INFOVER is detected, the EXITINFO.SYS file
  182.             should not be processed.
  183.  
  184. <flags>        Flags about what's happened. See table below.
  185.  
  186. <net_rcvd>    Netmail received.
  187. <net_sent>    Netmail sent.
  188. <echo_rcvd>    Echomail received.
  189. <echo_sent>    Echomail sent.
  190.  
  191. Description of the <flags> bit field:
  192.  
  193. Bit        Description
  194. ----------------------------------------------------------------------
  195. 0        Message(s) to JetMail's AreaFix received.
  196. 1        Notify message(s) sent.
  197. 2        System report written.
  198. 3        JetMail's Server was used.
  199. 4        Message(s) to sysop received.
  200. 5        Security failure while processing inbound mail occured.
  201. 6        Message(s) trashed.
  202. 7        Message(s) gated.
  203.  
  204. All other bits are reserved.
  205.  
  206.  
  207. FWD.SYS
  208. -------
  209.  
  210. This file contains information about pending forward requests and/or
  211. information about recently automatic removed areas.
  212.  
  213.  
  214. The message header format used by JetMail
  215. =========================================
  216.  
  217. The message header structure (MSGHDR) is used by JetMail and the new
  218. versions of LED, the message editor by Volkmar Wieners (2:241/5800.5)
  219. and is now the new standard. The structure was designed with arrangement
  220. with other leading Fido software authors on Atari ST.
  221.  
  222.  
  223. Field            Description
  224. ----------------------------------------------------------------------
  225. <from>            Name of the author of this message, NUL terminated.
  226.  
  227. <to>            Name of the addressee, NUL terminated.
  228.  
  229. <subject>        Topic, NUL terminated.
  230.  
  231. <created>        Time & date string in FTS-0001 format. This is the time
  232.                 and date on which this message was originally written or
  233.                 generated, NUL terminated.
  234.  
  235. <imported>        UNIX time stamp when this message was imported into
  236.                 your local message base or when a local entered message
  237.                 was exported.
  238.  
  239. <baseoffset>    Offset in the MSG file where the first byte of the
  240.                 message text of this message is located.
  241.  
  242. <up>
  243. <reply>            QBBS reply link information
  244.  
  245. <attributes>    Message attributes (bitfield)
  246.  
  247. <msgidcrc>
  248. <replycrc>        CRC-32 of the MSGID/REPLY kludges for reply chaining.
  249.  
  250. <mailer4>        unused
  251.  
  252. <xattrib>        Extended message attributes (bitfield)
  253.  
  254. <temp>            A bitfield in which programs can temporary (in memory)
  255.                 mark a message as processed by certain functions.
  256.                 
  257.                 Example: JetMail uses bit 0 to mark a gated message
  258.                 internally.
  259.                 
  260.                 This field MUST be zeroed when saving to the msgbase!
  261.  
  262. <processed>        A bitfield in which programs can physically mark a
  263.                 message processed by them. To avoid conflicts between
  264.                 programs using the same bit with different meanings,
  265.                 all software authors needing a bit of this bitfield
  266.                 should contact Daniel Roesen. Address see at the top
  267.                 of this file. Please send a little description of the
  268.                 use of the bit you need and the name of the program.
  269.                 
  270. <msgsize>        Size of message text INCLUDING the terminating NUL
  271.                 byte. The message text is also saved INCLUDING the
  272.                 NUL byte!!!
  273.  
  274. <readcount>        QBBS read counter
  275.  
  276. <cost>            QBBS cost field
  277.  
  278. <orig>
  279. <dest>            Origin and destination address of the message.
  280.  
  281.  
  282. Message flags
  283. =============
  284.  
  285. N = allowed in netmail messages
  286. E = allowed in echomail messages
  287.  
  288. Bit    Name            NE    Description
  289. -------------------------------------------------------------------
  290. 0    Private            ++    Message is private
  291. 1    Crash            +-    Message should be send crashed to
  292.                         the destination system.
  293.                         [only for Local messages]
  294. 2    Received        ++    Message was received by the addressee. This
  295.                         flag is used by QBBS for the BBS users.
  296. 3    Sent            ++    Message was exported.
  297.                         [only for Local messages]
  298. 4    W/File            +-    Message has a file attached. The
  299.                         filename is specified in the subject
  300.                         field.
  301. 5    InTransit        +-    This netmail is not addressed to
  302.                         your system and was routed.
  303. 6    Orphan            +-    JetMail didn't know where to route
  304.                         this netmail to.
  305. 7    Kill/Sent        +-    Message will be deleted after it was
  306.                         properly sent.
  307.                         [only for Local messages]
  308. 8    Local            ++    Message was written locally on your
  309.                         system by yourself or one of your BBS
  310.                         users.
  311. 9    Hold            +-    Message will be laid on hold.
  312.                         [only for Local messages]
  313. 10    unused            --    This flag is not defined in FTS-0001
  314.                         and should not be used for any
  315.                         purposes.
  316. 11    FRequest        +-    This message is a file request. The
  317.                         requested file(s) are specified in
  318.                         the subject field seperated by blanks.
  319. 12    ReturnReceipt    +-    Requests a receipt from the destination
  320.                         system of the netmail message.
  321. 13    IsReceipt        +-    Indicates a receipt message sent in reaction
  322.                         to a netmail flagged ReturnReceipt.
  323. 14    AuditRequest    +-    Requests receipts of all routing systems
  324.                         for this netmail message.
  325. 15    Deleted            ++    Indicates a deleted message. A message
  326.                         flagged Deleted is removed the next time
  327.                         JetMail is invoked with the MAINT option.
  328.  
  329. Extended message flags
  330. ======================
  331.  
  332. Bit    Name            NE    Description
  333. -------------------------------------------------------------------
  334. 0    Read            ++    Indicates a message which the sysop has read
  335.                         via the local message reader (JetEdit or LED).
  336. 1    Archive/Sent    ++    If this flag is set, JetMail copies this
  337.                         message to the archive area (if defined)
  338.                         after exporting it. [only for Local messages]
  339. 2    TFS                +-    Truncates the file after sent via the mailer.
  340.                         [only for Local FileAttaches]
  341. 3    KFS                +-    Deletes the file after sent via the mailer.
  342.                         [only for Local FileAttaches]
  343. 4    Direct            +-    Send netmail direct to the destination (don't
  344.                         route it). [only for Local messages]
  345. 5    ZoneGate        +-    Send netmail via zone gate system (not yet
  346.                         implemented). [only for Local messages]
  347. 6    HostRoute        +-    Send netmail via host/hub of the destination
  348.                         system (not yet implemented).
  349.                         [only for Local messages]
  350. 7    Locked            ++    Indicates that this message is locked. That
  351.                         means: No export, no crunching, no changing
  352.                         (in JetEdit) of the message header and text.
  353. 8    Immediate        +-    Send netmail immediatly to the destination.
  354.                         This is the "harder" version if crashmail
  355.                         only implemented correctly in Semper, a new
  356.                         mailer by Jan Kriesten.
  357. 9    Gated            ++    Marks locally gated messages.
  358. 10    CreateFlowFile    +-    Marks a message which advises JetMail to send
  359.                         several files to the destination system. See
  360.                         section "Flowfile creation facility" for
  361.                         further explanation.
  362.  
  363.  
  364. JetMail Flowfile Creation facility
  365. ==================================
  366.  
  367. JetMail allows writing sending files without knowing the real outbound
  368. format. So utils are independent from the outbound structure. This
  369. feature is very useful for utils such as TICker etc. It would be nice
  370. if all mail processors provide this feature.
  371.  
  372. The utils must write a netmail message with the To-field containing
  373. the destination address for the files and the string "SysOp". The
  374. "From" string should contain the name of the creating program, such
  375. as "STick" or "Hatch" or whatever. The From address is not of
  376. interest and should contain 0:0/0.0 as address.
  377.  
  378. In order to detect FlowFile-Messages, the flag XF_CREATEFLOWFILE must
  379. be set in the <xattrib> bitfield.
  380.  
  381. The subject line is not used by JetMail but should contain "Flowfile
  382. creation". This is subject to change, 'cause there could by an use
  383. for this field.
  384.  
  385. Each message line is of the following syntax:
  386.  
  387. <filespec> <flavour> <treatment>
  388.  
  389. <filespec> must be the full file specification incl. path and drive
  390. <flavour>  can be
  391.  
  392.             "<Normal>"
  393.             "<Direct>"
  394.             "<Crash>"
  395.             "<Hold>"
  396.  
  397. <treatment> can be
  398.  
  399.             "<Normal>"
  400.             "<Truncate>"
  401.             "<Kill>"
  402.  
  403. <Truncate> means that the mailer should truncate the file after if
  404. was successfully sent. <Delete> means that the mailer should delete
  405. the file after it was sucessfully sent.
  406.  
  407. The message MUST be terminated by a tearline.
  408.  
  409. Example of a message:
  410.  
  411. ====== CUT HERE =============================================
  412. Msg #20 / 1-33  Time: 16 Jul 92  21:48:20
  413. From: TIC-me on 0:0/0
  414. To  : SysOp on 2:245/52
  415. Subj: Flowfile creation
  416. ---------[FidoNetmail    ]------------------------------------------
  417. C:\DESKTOP.INF <Crash> <Normal>
  418. G:\IO\TICS\12345678.TIC <Crash> <Delete>
  419. D:\BLAFASEL.TXT <Hold> <Truncate>
  420. ---
  421. ====== CUT HERE =============================================
  422.  
  423. <End of JMDEV100.TXT>
  424.