Mail robots & mail tracker ============================ One of the big advantaged of JS_TOSS is its modularity. You may add any kind of mail robots or mail tracker you want. But first let's make clear what is a "mail robot" and what a "mail tracker". Mail robots are receiver of mails that contain some commands or so (like Areafix). This mail robots are only started if there is a mail for it. So they must have a name which is given by the ROBOT config command. Mail tracker on the other hand are some kind of supervisors. They check EVERY netmail, e.g. for correct addresses, not allowed characters or so. Because mail trackers are started for every netmail they could slow down tossing! Generally mail robots and mail tracker work the same: The are started with 2 commandline options - a file containing the send text - a directoryname where the robot may write answer mails into (as ASCII text) This text files have a specified looking: Temp files mail robot/mail tracker ---------------------------------- From user mail: -------------- ### is the full name of the sender, is his address which may have the addition "@SYSOP", "@BBS" or "@ROBOT" if this mail was send by the sysop, the BBS (maybe a user or the sysop from there) or another robot (e.g. a tracker). the receiver name - for mail robots this could be one of the aliases the receiver address also with "@SYSOP", "@BBS" or "@ROBOT" - for mail robots this is hopefully your address... subject of mail, of course! "our" address - better use this if you send a reply or JS_TOSS may ignore your text ### seperates header from text and is ALWAYS there - but maybe some lines below! the received text - without all kludges! Replys: ------ ### text we will see as sender in this reply this should be the local address or JS_TOSS may ignore this reply name where to send the mail to address where to send the mail to the subject some additional options, one per line (see below) ### seperates header from text and must ALWAYS be there before the text the reply text ATTENTION! Look always for seperator "###" to find start of text and always add seperator "###" to written messages. Maybe in later releases there could be more header information. "from address" and "to address" have the additional text "@BBS" or "@SYSOP" or "@ROBOT" if this mail was/is sent from/to locale system (BBS, SYSOP or mail ROBOT - e.g. 2:2454/550.3@SYSOP). If your robot generates own mails use as your "from address" to avoid confusion! Don't add these "@BBS", "@SYSOP" or "@ROBOT" things in your reply header. Reply header options -------------------- (below and above "###") All of this options are case sensitiv and only one option per line is allowed. SYSOP message is send to JS_TOSS.SYSOP echo, no netmail! (only if SECURE is set in JS_TOSS config) LATIN adds charset kludge "LATIN-1 2" IBMPC adds charset kludge "IBMPC 2" VIA the text behind VIA will be put into the @Via line (max 30 chars) - e.g. VIA JS Areafix AREA: allows public echo mail, this line will completely copied in the mail, no spaces are allowed, area name must be upper case - FTSC! (e.g. AREA:AMIGA.GER) Usefull for automatic file announces, statistics or so Use "SYSOP" option to write in the SYSOP-Echo!! Mail robot/mail tracker start options ------------------------------------- As told before every robot gets two parameters in the command line. ROBOT Reply_drawer may contain as many mails as you wish, but all must start with the reply header told before. All this replys are checked by the tracker and may call mail robot again, i.e. it is possible to write from a mail robot or tracker to an other (or the same) mail robot. Why? A tracker can reroute a mail for a mail robot to a new name or other address. ATTENTION! This is a recursiv thing! So don't make any endless loops!! This recursion needs much stack space so a robot that calls a robot may need more than 8000 bytes stack space free. If JS_TOSS crashes while tossing with mail robots where it never crashed before check stack space and set it up. Starting from compilation 630 replys will be tossed in alphabetical order. That means you may choose your reply order by giving files in Reply_drawer a cronological name. ---------------------------------------------------------------------- Internal Robot -------------- There is are some internal mail robot: The most important one is the Areafix (or Areamgr, JS_TOSS, Areamanager, Areaverwaltung). An other one is "NIL" (should be uppercase!). It does nothing but delete all mail send to it. Ah, now he is totally mad you thing? This is usefull e.g. if one robot sends a mail to an other one (maybe to an other node) and his answer should be ignored (maybe our mail robot would send an "error mail" back and the other sends one back again, and so on). FORWARD-Request managers should use this. Last but not least there is an robot "TOSSDAEMON". But this one is only used by JS_TOSS to comunicate with other JS_TOSS mailer systems and MUST NOT be written to from other persons or programs! Currently it does nothing anyway. ---------------------------------------------------------------------- Error-Handler ------------- Error handler are some special mail robots that are called if an error condition occures. As mail robots they get 2 options: - an error file - a reply directory HANDLER Reply_drawer may contain as many mails as you wish, but all must start with the reply header (see in mail robot part above). This error file again has a special looking: Line 1: Error temp file Line 2: Line 3: Line 4: Don't forget: line 1 always has the text "Error temp file" so your programs can be used as mail robot and error handler! an integer number with the error code some data for this error more data There error and its data are currently implemented: Error- description data 1 data 2 number: 1 can't route from address to address a netmail 2 unused mail name from address echo 3 unknown zone zone number packet name 4 unknown mail echo name from address echo added (autonew) 5 mail packet level (s.b) from address error 6 unknown mail echo name from address echo (no autonew!) others should be ignored, for later releases! Mail packet error level ----------------------- Level 1: not allowed ending of mail packet the final 0-0 bytes were missing after the last mail text, up-/downlink who sent this mail packet uses non FTSC conform software! (but this could also be a result of a transfer error) Level 2: mail text missing after names of origin and destination persons and subject mailtext was missing, maybe packet was destroyed durring transfer or someone uses non FTSC conform software (e.g. up-/downlink) Level 3: mail text partial destroyed suddenly the text mail packet ended inside the mailtext, maybe packet was destroyd durring transfer (most times) someone uses non FTSC conform software (e.g. up-/downlink) - JS_TOSS tryes to make a FTSC conform mail from the rest! Level 4: unknown mail header after the packed header or aftern a packed message an unknown packed type identifier was found --------------------------------------------------------------------- FTSC = Fido Technical Standard Committee Fido and FidoNet are registered marks of Tom Jennings and Fido Software.