*******************************************************************************
                              BSmtp/2 v0.42
        Analyse von BSmtp Files und Versenden enthaltener Mails
                           (c)2000 by IzzySoft
*******************************************************************************

Diese Doku ist garantiert nicht vollstndig - sondern absolut minimal. Aber
immer noch besser als garnix, gelle? Also:

	1.   - Warum dieses Programm? Was tut es?
	2.   - Systemvoraussetzungen
	3.   - beiliegende Scripte/Dateien
	4.   - Konfiguration
	4.1. - BSmtp.Cmd
	4.2. - MailList.Cfg
	5.   - Syntax
	6.   - ErrorLevel
	7.   - Known Limitations/Bugs
	8.   - Wo finde ich die aktuellste Version?
	9.   - Disclaimer :-)


1. Warum dieses Programm? Was tut es?
=====================================

  BSmtp analysiert Dateien im BSmtp (Batch-Smtp) Format und "verfttert" sie
  an einen Smtp-Server. Nebenbei ist seit Version 0.3beta auch ein simpler
  MajorDomo implementiert.

  Wann bzw. wozu ist dies sinnvoll?

  Wenn man z.B. eine eigene Domain "Offline" betreibt, und der MX-Record
  auf einen anderen Rechner verweist, als auf den, auf dem man den lokalen
  MailServer laufen hat (z.B. fr ein kleines IntraNet). Hier kann der Provider
  die Mail fr die Domain im BSMTP Format sammeln und in einem anderen Account
  (z.B. einem Pop3 Postfach) zur Verfgung stellen. Dieses Postfach wird per
  Dial-Up geleert - und sodann das BSMTP File mit BSmtp verarbeitet.

  So luft das hier (qumran.org) prima :-)


2. Systemvoraussetzungen
========================

  * ein Rechner (echt?) auf dem Rexx installiert ist (OS/2 kompatibel;
    getestet habe ich es nur mit OS/2, evtl. tut es Regina unter DOS/Win
    auch - wenn das jemand getestet hat, wre ich fr eine Information
    dankbar!)
  * Zustzlich mssen die Bibliotheken RxTelnet (rxtelnet.zip auf Hobbes
    und im GFD) und RXU (rxu1a.zip auf Hobbes und im GFD - beides auch in
    meiner Mailbox, der Qumran Cave, download- und requestbar (2:2426/2160
    im Fido, bzw. 0441-9570436 per Terminal-Prog)
  * Achja: ein (lokaler) SMTP-Server, an den die Mail verfttert werden
    soll, sowie ein Pop3 Account (o.a.), um die BSMTP Daten zu bekommen ;)

 
3. beiliegende Scripte/Dateien
==============================

  * BSmtp.Cmd:         das BSmtp Script
  * BSmtp.Cfg:         Konfigurations-Datei fr BSmtp/2 (Main Config)
  * File_Id.Diz        Kurzbeschreibung des Programmes
  * File_Id.xxx        das gleiche in Landessprache (xxx = Lndercode)
  * MailList.Cfg:      Konfigurations-Datei fr MailingListen
  * QMDomo.Cmd:        MajorDomo AddOn
  * Doc\2do:           ToDo-List (nicht bindend ;)
  * Doc\COPYING:       GNU General Public License
  * Doc\COPYRIGHT:     Copyright disclaimer
  * Doc\xx\BSmtp.Txt:  h - habe ich vergessen.... #-)
  * Doc\xx\Format.Txt  Kurzbeschreibung des verwendeten BSMTP Formates
  * Doc\History:       fr Historiker: die Entwicklungsgeschichte dieses Proggies
  * Doc\Sample.Bsm:    Beispiel Eingabe-Datei im BSMTP-Format


4. Konfiguration
================


4.1. BSmtp.Cfg
--------------

  Kurz zur Syntax dieser Konfigurations-Datei:
  Kommentarzeilen beginnen mit einem ";" oder einer "#". Soll ein Kommentar
  hinzugefgt werden, mu zwischen dem ";"/"#" und dem Kommentar mindestens
  ein Leerzeichen stehen. Kommentare mssen in separaten Zeilen stehen, d.h.
  ein Kommentar a la

     Debug # Debug anschalten

  wird nicht untersttzt! "Default" Werte werden benutzt, wenn die entsprechende
  Anweisung auskommentiert ist. Doch nun zu den einzelnen Anweisungen, welche in
  BSmtp.Cfg verwendet werden (knnen):

  hostname         der Smtp-Host, an den die Mail geschickt werden soll. Der
                   hier angegebene Wert kann an der Kommandozeile berschrieben
                   werden (siehe Syntax unter 5.)
  port             zu benutzender Port. Standardmig sollte dies Port 25 sein.
                   Default: 25
  timeout          normalerweise 1000. Sollte der SMTP-Server ein wenig
                   schwerfllig sein (schlechte Verbindung), sollte dieser
                   Wert erhht werden (Empfehlung fr diesen Fall: 5000).
                   Default: 1000
  debug            falls Debug-Infos gewnscht werden, das Kommentar-Zeichen
                   entfernen. Es wird dann im aktuellen Verzeichnis zustzlich
                   eine Datei namens Session.Log angelegt, in welcher alle
                   Aktivitten auf dem Socket (also alles, was
                   gesendet/empfangen wird) protokolliert ist.
                   Default: kein Debug.
  LogFile          Naja, ein Logfile halt. Wird kein Laufwerk/Verzeichnis 
                   angegeben, wird die Datei im aktuellen Verzeichnis
                   angelegt. Es werden verschiedene LogLevel benutzt (s.u.)
                   Default: BSmtp.Log
  BadMailDir       Verzeichnis, in dem "abgewiesene" Mails (fr die sptere
                   Analyse) gespeichert werden sollen. Die Mails werden im BSMTP
                   Format (also inklusive des Envelopes) abgelegt. Unterschiede
                   zur Eingabedatei:
                   - nur eine Nachricht pro Datei
                   - Ende der Mail wird nur durch EINEN '.' (sonst: '..')
                     signalisiert
                   Default: BadMail (unterhalb des aktuellen Verzeichnisses)
  LocalDomain      die lokale Domain
  MajorDomo        soll der interne MajorDomo benutzt werden? => auskommentieren.
                   Default: MajorDomo wird nicht benutzt.
  ListFile         Konfigurationsdatei des MajorDomo. Format siehe unten (4.2)
                   Fr Laufwerk/Verzeichnis gilt hier das gleiche wie bei
                   LogFile (s.o.)
                   Default: MailList.Cfg
  LogLevel         Welche Informationen werden im LogFile gewnscht? Die
                   mglichen Werte sind einer der folgenden oder eine
                   Kombination daraus:
                   ! Fehler-Meldungen (z.B. nicht zustellbare Nachrichten,
                     unerwartete Programm-Abbrche wegen z.B. Verbindungs-
                     abbruch...)
                   + "Basic" Information (z.B. Programm-Start, Verbindungsauf-
                     und -abbau etc.)
                   - zustzliche Informationen: Empfnger der Mail
                   # File I/O
                   x weitere zustzliche Informationen (nahezu Debug-Level)
                   $ Debug-Info
                   Default: alles eingeschaltet
  ScrLevel         das gleiche wie LogLevel - nur halt fr den Screen
  DeletePkt        soll die BSmtp Eingabedatei gelscht werden, wenn alle
                   enthaltenen Mails erfolgreich versendet wurden?
                   => Kommentarzeichen entfernen
                   Default: Eingabedatei wird nicht gelscht


4.2. MailList.Cfg
-----------------

  Jede Zeile reprsentiert einen Eintrag. Die Syntax ist hier:
  <listenname> <User>
  Fr jede Zeile gilt demzufolge: exakt 1 <listenname> und exakt 1 <User>.
  Bei mehreren Usern (was ja bei einer Liste durchaus Sinn macht ;) werden
  halt mehrere Zeilen angelegt. Die beigefgte Beispieldatei definiert zwei
  MailingListen: Test1 (mit den Usern "TestUser" und "John Doe") und Test2
  (mit den Usern "Dummy" und "Martin Mustermann").

  Was bei <User> steht, ist fr BSmtp recht egal, da dieses es nicht
  auswertet. Fr QMDomo ist allerdings folgende Syntax von <User> zu beachten:
  "Real Name" <user@kiste.domain>
  user@kiste.domain (Real Name)
  Beide Schreibweisen sind mglich - also ganz so, wie es auch per RFC
  vorgesehen und von MailClients bekannt ist.


5. Syntax
=========

  BSmtp <BSMTP Eingabe-Datei> [<HostName> [<Port>]]

  <BSMTP Eingabe-Datei> ist hier die zu verarbeitende Datei (logo), <HostName>
  der Name des Rechners, auf dem der SMTP Server luft, an den die Mail
  geschickt werden soll. <Port> ist der Port, auf den der SMTP Server reagiert.
  Sowohl <HostName> als auch <Port> sind optionale Parameter, um die Defaults
  in BSmtp.Cfg ggf. kurzfristig/vorbergehend zu ersetzen.


6. ErrorLevel
=============

  0   normales Ende (entweder nix zu tun gewesen, oder halt alles fertig)
  1   Aufruf erfolgte ohne Parameter bzw. Fehler in der Konfig
  2   eine Datei (idR das LogFile) konnte nicht geffnet/geschlossen werden.
      Nhere Information im Logfile.
  9   unexpected end of data (wahrscheinlich kamen noch "Leerzeilen" nach
      Ende der letzten Mail im BSmtp-File - in diesem Fall kann der "Fehler"
      getrost ignoriert werden)
 11   Connection lost (Verbindung whrend der bertragung verloren)
 12   Telnet connection failed (Verbindungsaufbau fehlgeschlagen)


7. Known Limitations/Bugs
=========================

  Limitations:
  ------------
    - (un)subscribe ist (noch) nicht per Mail mglich - jeder Teilnehmer
      mu (noch) manuell in maillist.cfg eingetragen (bzw. aus selbiger
      entfernt) werden. Betrachtet also diese Listen als "closed" ;)

  Bugs:
  -----
    bislang keiner bekannt (auer der vor dem Bildschirm sitzende ;)


8. Wo finde ich die aktuellste Version?
=======================================

  Hierfr gibt es mehrere Anlaufpunkte - je nach verwendeter Technologie:

  FidoNet    : 2:2426/2160
  Online-BBS : +49-441-9570436
  FTP        : ftp.qumran.org/net/div/izzysoft/
  
  Zu FTP wre hier jedoch noch anzumerken, da der Server nicht permanent
  erreichbar ist (derzeit habe ich nur einen "normalen" Dial-Up Account,
  der jeweils zu xx:30 Uhr fr einige Minuten aktiv ist - oder lnger, wenn
  ich selber surfe). Dies ndert sich ein wenig, sobald ich mir eine
  Flatrate gnne (evtl. April/Mai via Callando).


9. Disclaimer
=============

  Hiermit setze ich den blichen Disclaimer als bekannt voraus. Fr diejenigen,
  die ihn nicht kennen, hier die kurze Zusammenfassung:
  Ich (der Autor des Programmes) bernehme fr nix weiter eine Garantie als
  dafr, da das Programm ein paar KiloByte auf der Festplatte verbraucht.
  Jegliche Benutzung geschieht also auf eigene Gefahr, fr eventuelle
  Schden (welcher Art auch immer) durch die Benutzung komme ich nicht auf!
  
  Seit der Version 0.42 ist BSmtp/2 unter die GPL (Gnu Public License)
  Version 2 gestellt (ich behalte mir allerdings vor, dies eventuell in
  einer zuknftigen Version zu ndern - dennoch darf Code aus bis dahin
  erschienenen Versionen auf jeden Fall weiterhin in anderen Programmen,
  die dann selbstverstndlich auch der GPL unterliegen, verwendet werden).
  Was dieses KONKRET heit, bitte ich in den Dateien COPYING und COPYRIGHT
  nachzulesen.

  Fr eine kurze Notiz, da BSmtp/2 woanders auch sinnvoll benutzt werden kann,
  bin ich in jedem Fall dankbar. Ich kann nicht garantieren, da es jemals
  weiterentwickelt wird oder da eventuelle Bugs entfernt werden
  (eigentlich habe ich es ja nur fr mich gebastelt ;) Sollten jedoch Bugs
  gefunden werden, oder Anregungen zur Weiterentwicklung bestehen, schickt
  mir bitte eine Nachricht. Wer wei, vielleicht... ;) Auf jeden Fall ist
  mehr Motivation vorhanden, wenn man um einen gewissen Sinn wei.


Nachsatz: Bevor die Doku mal wieder lnger wird als das Programm, zeichne ich
hier fr eventuelle Rckfragen: izzysoft@buntspecht.de


Itzchak Rehberg
24.03.2000