============================================================================== Programm: MakeZCMail Version : V2.3 Datum : 11.08.97 Funktion: Erstellt aus Ascii-Files oder Binär-Files 100% ZConnect-konforme Puffer zum Posten an EMail Adressen oder Bretter ============================================================================== Aufruf ====== MakeZCMail> MakeZCMail ? ABS=ABSENDER/K,EMP=EMPFAENGER/K,DO=DOMAIN/K,PU=PUFFER/K,QU=QUELLDATEI/K, BET=BETREFF/K,RN=REALNAME/K,ZU=ZUSAMMENFASSUNG/K,DI=DISKUIN/K,AA=ANTWORTAN/K, O=ORG/K,TEL=TELEFON/K,PO=POST/K,BIN=BINAER/S,EB=EMPFANGSB/S,PR=PRIO/N, P=POINT/K,KOM=KOMMENTAR/K,NR=NOROT/S,I=ISO/S,KON=KONFIG/K,EF=EMPFILE/K, KF=KOPFILE/K,FNU=FORCENOTUSE/S,Q=QUIET/S Usage: MakeZCMail ABS = ABSENDER = | EMP = EMPFAENGER = DO = DOMAIN = | PU = PUFFER = QU = QUELLDATEI = | BET = BETREFF = RN = REALNAME = | ZU = ZUSAMMENFASSUNG = DI = DISKUIN = | AA = ANTWORTAN = O = ORG = | TEL = TELEFON = PO = POST = | BIN = BINAER = EB = EMPFANGSB = | PR = PRIO = P = POINT = | KOM = KOMMENTAR = NR = NOROT = | I = ISO = KON = KONFIG = | EF = EMPFILE = KF = KOPFILE = | FNU = FORCENOTUSE = Q = QUIET = | MAP = MAPUMLAUTE = Absender = Absender der Mail, z.B. SYSOP Empfaenger = Empfaenger der Mail, z.B. /!RECENT Domain = Boxname UND Domain der Mailbox, z.B. dame.de Puffer = Names des Puffer, also der Zieldatei Quelldatei = Name des File das umgewandelt werden soll Betreff = Betreff der Mail Realname = Der Realname des Absenders Zusammenfassung = Kurzkommentar der Nachricht DiskuIn = Diskussion-In setzen AnwortAn = Antwort-An setzen Org = Organisation z.B. CoSysop der Notre Dame Telefon = Telefonnummer(n) Post = Postanschrift Kommentar = File, das als Kommentar benutzt werden soll Bin = Angeben, wenn Mail eine Binaernachricht ist Eb = Angeben, wenn Empfangsbestaetigung erwuenscht Prio = Prioritaet. Erlaubt sind 10 (Direkt) oder 20 (Eil) Point = Pointname, wird mit in die MID geschrieben NoRot = Bewirkt, dass ein leerer ROT: geschrieben wird Iso = Schreibt die Headerzeile CHARSET: ISO1 Konfig = Pfad und Name der Konfigdatei Empfaengerfile = Pfad und Name eines Files mit Empfaengern Kopiefile = Pfad und Name eines Files mit Kopieempfaenger" ForceNotUse = Execption, Optionale Konfigfiles nicht nutzen Quiet = StdIO wird unterdrueckt. MapUmlaute = Umlaute expandieren (Ä -> Ae usw.) : ------------------------------------------------------------------------------ ABSENDER: (Optional) Hier wird der Absender eingegeben (NUR der Username!!). Beispiel: "system" Es ist dringend zu beachten, dass hier "ABSENDER" angegeben werden muss, da dieses Keyword optional ist. EMPFAENGER: (Optional) Der Empfänger der Nachricht. Es kann sich um eine Brettnachricht oder eine Mail an einen anderen Teilnehmer handeln. Beispiel: "tms@dame.de" oder "/de/test" Es ist dringend zu beachten, dass hier "EMPFAENGER" angegeben werden muss, da dieses Keyword optional ist. DOMAIN: (Optionale) Die Domain und der Systemname des postenden Systems. Ist wichtig für den Routestring und der Erstellung der MessageID ! Beispiel: "netzname.do.main" Es ist dringend zu beachten, dass hier "DOMAIN" angegeben werden muss, da dieses Keyword optional ist. PUFFER: (Optional) Name des Puffer, also der Zieldatei, die der ZConnect-Puffer sein soll. Hierbei ist zu beachten, das MakeZCMail als Filekommentar gleichzeitig den eingegebenen String von "ABSENDER" einfügt. Prometheus-Systeme profi- tieren sehr davon, da der Sorter automatisch weiß, von wem der Puffer angeblich stammt. Beispiel: "PROMETHEUS:Netz/Sortin/MakeZCMail-puffer.prv" Es ist dringend zu beachten, dass hier "PUFFER" angegeben werden muss, da dieses Keyword optional ist. QUELLDATEI: (Optional) Das File, das verschickt werden soll. Es kann sich dabei um eine Textnachricht oder um ein Binaerfile handeln. Bei Textnachrichten ist die Terminierung der Zeilen egal (LF oder CR/LF), da MakeZCMail die Zeilen automatisch konvertiert. Beispiel: "Werbung:Mailboxwerbung" Es ist dringend zu beachten, dass hier "QUELLDATEI" angegeben werden muss, da dieses Keyword optional ist. BETREFF: (Optional) Der Betreff der Nachricht :) Wird kein Betreff angeben, so wird der Name der Quelldatei als Betreff genommen. Es ist dringend zu beachten, dass hier "BETREFF" angeben werden muss, da dieses Keyword optional ist. Beispiel: BETREFF="Testnachricht mit MakeZCMail" DISKUIN: (Optional) Wird dies angeben, so wird Diskussion-In: gesetzt. Es ist dringend zu beachten, dass hier "DISKUIN" angeben werden muss, da dieses Keyword optional ist. Beispiel: DISKUIN="/Z-Netz/Rechner/Amiga/Allgemein" ANTWORTAN: (Optional) Wird dies angeben, so wird Antwort-An: gesetzt. Es ist dringend zu beachten, dass hier "ANTWORTAN" angeben werden muss, da dieses Keyword optional ist. Beispiel: ANTWORTAN="TMS@dame.de" ZUSAMMENFASSUNG: (Optional) Wird dies angeben, so wird dies als Zusammenfassung geschrieben. Es ist dringend zu beachten, dass hier "ZUSAMMENFASSUNG" angeben werden muss, da dieses Keyword optional ist. Beispiel: ZUSAMMENFASSUNG="Dies ist die Zusammenfassung der Mail" KOMMENTAR: (Optional) Wird dies angeben, so wird das uebergebene FILE als Kommentar geschrieben. Bitte beachten, dass hier nur ein FILE als Parameter akzeptiert wird. Moechte man einen Text uebergeben, so ist dafuer der Header ZUSAMMENFASSUNG vorgesehen. Weiterhin weise ich darauf hin, dass das FILE ein TEXTFILE, und KEIN BINAERFILE sein MUSS! Es ist dringend zu beachten, dass hier "KOMMENTAR" angeben werden muss, da dieses Keyword optional ist. Beispiel: KOMMENTAR="GATEWAY:Download/Cheater.readme" ORG: (Optional) Wird dies angeben, so wird dies als Organisation geschrieben. Es ist dringend zu beachten, dass hier "ORG" angeben werden muss, da dieses Keyword optional ist. Beispiel: ORG="CoSysop der Notre Dame BBS Hamburg" TELEFON: (Optional) Wird dies angeben, so wird dies als Telefonnummer geschrieben. Es ist dringend zu beachten, dass hier "TELEFON" angeben werden muss, da dieses Keyword optional ist. Beispiel: TELEFON="++49 [40] 648 932 87" POST: (Optional) Wird dies angeben, so wird dies als Postangschrift geschrieben. Es ist dringend zu beachten, dass hier "POST" angeben werden muss, da dieses Keyword optional ist. Beispiel: POST="Anklamer Ring 58 ; 22147 Hamburg" REALNAME: (Optional) Wird dies angeben, so wird an den Absender der Realname angehaengt. Der Realname MUSS in () geschrieben werden! Der Realname sollte keine Umlaute "üöäÜÖÄß" beinhalten. Es ist dringend zu beachten, dass hier "REALNAME" angeben werden muss, da dieses Keyword optional ist. Beispiel: REALNAME="(Mirko Thoele)" POINT: (Optional) Wird dies mit angegeben, so wird die MID: anders zusammengesetzt. Sie wird in diesem Fall als "ursprung@pointname.system.domain" geschrieben. Wird dieser Parameter NICHT angegeben, so setzt sich die MID: aus "ursprung@system.domain" zusammen. Die Parameter die im ersteren Falle genommen werden sind "xxx@pointname.domain" und im zweiten Falle "xxx@domain". Ich weise nochmal darauf hin, das die Domain, die als Parameter uebergeben wird aus "netzname.do.main" zusammengesetzt sein muss. Es ist dringend zu beachten, dass hier "POINT" angeben werden muss, da dieses Keyword optional ist. BIN: (Optional) (Switch) Wird dieser Switch uebergeben, so wird eine Binaernachricht erzeugt. In diesem Fall wird keine Lineendungskonvertierung ups :) vorgenommen und ein zusaetzlicher Header FILE: erzeugt, der den Originalfilenamen beschreibt (ohne Pfadangabe). EB: (Optional) (Switch) Wird dieser Switch uebergeben, so wird eine Empfangsbestaetigung vom Empfaenger erbeten. NOROT: (Optional) (Switch) Wird dieser Switch uebergeben, so wird ein leerer ROT: Header geschrieben. ISO: (Optional) (Switch) Wird dieser Switch uebergeben, so wird der CHARSET: ISO1 Header geschrieben. Der Realname und der Kommentar wird in den ZC-Zeichensatz konvertiert. Der Body wird in Ruhe gelassen. Dieser Switch wirkt nicht, wenn der BIN-Switch gesetzt ist. PRIO: (Optional) (Numerisch) Moeglich sind hier 10 oder 20. Bei einer 10 wird die Mail als Direktmail, bei einer 20 als Eilmail verschickt. Jeder andere Wert wird ignoriert. Es ist dringend zu beachten, dass hier "PRIO" angeben werden muss, da dieses Keyword optional ist. Beispiel: PRIO=10 KONFIG: (Optional) Wird dies mit angegeben, so wird dieser Pfad+Name als Konfiguratonsdatei genommen. Ansonsten wird von PROGDIR:MakeZCMail.cfg ausgegangen. Es ist dringend zu beachten, dass hier "KONFIG" angegeben werden muss, da dieses Keyword optional ist. EMPFILE: (Optional) Wird dies mit angegeben, so wird dieser Pfad+Name als Empfaengerdatei genommen. In dieser Datei duerfen beliebig viele Empfaenger stehen. Pro Zeile je ein Empfaenger. Wird dieser Parameter nicht uebergeben, so wird nach der Datei PROGDIR:MakeZCMail.emp geschaut. Ist diese Datei vorhanden, so werden die Emfpaenger ZUSAETZLICH aus dieser Datei genommen. Es ist dringend zu beachten, dass hier "EMPFILE" angegeben werden muss, da dieses Keyword optional ist. KOPFILE: (Optional) Wird dies mit angegeben, so wird dieser Pfad+Name als Kopieempfaengerdatei genommen. In dieser Datei duerfen beliebig viele Kopieempfaenger stehen. Pro Zeile je ein Kopieempfaenger. Wird dieser Parameter nicht uebergeben, so wird nach der Datei PROGDIR:MakeZCMail.kop geschaut. Ist diese Datei vorhanden, so werden die Kopieemfpaenger ZUSAETZLICH aus dieser Datei genommen. Es ist dringend zu beachten, dass hier "KOPFILE" angegeben werden muss, da dieses Keyword optional ist. FORCENOTUSE: (Optional, Switch) Wird eine KONFIG, EMPFILE oder KOPFILE uebergeben, und eins dieser Files existiert nicht, so wird normaerweise versucht auf die Standardkonfigurationen (MakeZCMail.cfg, MakeZCMail.kop u. MakeZCMail.emp) zurueckzugreifen (Je nachdem welche Datei fehlt). Wenn man diesen Switch setzt, so passiert dies nicht mehr. QUIET: (Optional, Switch) Wird dieser Switch angegeben, so werden alle Ausgaben nach StdIO (Shell, CLI oder aehnliches) unterdrueckt, und nur noch in die Datei MakeZCMail.error geschrieben. MAPUMLAUTE: (Optional, Switch) Wird dieser Switch angegeben, so werden im evt. vorhandenen Kommentar und im Mailbody (sofern nicht binaer), alle Umlaute (IBM und AMIGA) expandiert. (Ä nach Ae, Ö nach Oe usw.) Beispiele ========= Verschicken eine Textnachricht an einen Netzteilnehmer ------------------------------------------------------ MakeZCMail "ABS=Sysop" "EMP=tms@dame.de" "DO=dame.de" "PU=PROMETHEUS:netz/sortin/bla.prv" "QU=S:StartUp-Sequence" BETREFF="TEST!" Verschicken eine Textnachricht an ein Brett ------------------------------------------- MakeZCMail "ABS=Sysop" "EMP=/de/test/" "DO=dame.de" "PU=PROMETHEUS:netz/sortin/bla.prv" "QU=S:StartUp-Sequence" BETREFF="TEST!" Verschicken eine Binaernachricht an einen User ---------------------------------------------- MakeZCMail "ABS=Sysop" "EMP=tms@dame.de" "DO=dame.de" "PU=PROMETHEUS:netz/sortin/bla.prv" "QU=c:lha" BETREFF="Die 68000er Version!" BIN Verschicken eine Binaernachricht an ein Brett --------------------------------------------- MakeZCMail "ABS=Sysop" "EMP=/de/test" "DO=dame.de" "PU=PROMETHEUS:netz/sortin/bla.prv" "QU=c:dir" BETREFF="Binary test" BIN =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- MakeZCMail.cfg: In dieser Datei kann *jeder* Header eingetragen werden, so dass man MakeZCMail auch benutzen kann, ohne als Parameter irgendetwas zu uebergeben. Weiterhin kann man in dieser Datei mehrere Empfaenger, und auch mehrere Kopieempfaenger angeben, so dass man nun auch Mail mit mehreren Empfaengern erstellen lassen kann. Achtung: Parameter die man MakeZCMail *uebergibt* haben eine hoehere Prioritaet als Parameter, die in der Konfig-Datei stehen. Steht also in der Konfig-Datei ein ARG_ABSENDER=tms und man startet MakeZCMail mit "MakeZCMail ABS=Sysop" so, wird als Absender SYSOP und nicht TMS genommen. Alles weitere sollte durch die beiliegende Konfigurationsdatei erklaert werden. MakeZCMail.emp: --------------- In dieser Datei koennen beliebig viele Empfaenger stehen. Pro Zeile ein Empfaenger. MakeZCMail.kop: --------------- In dieser Datei koennen beliebig viele KOP-Empfaenger stehen. Pro Zeile ein Kopie-Empfaenger. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- MakeZCMail ist (C) by Mirko Thöle (TMS@DAME.DE) MakeZCMail wurde entwickelt, weil das Programm "SMail V1.0" KEINEN Routestring erstellte, und auch immer falsche (futuristische) EDA: Angaben kreierte. Bei vielen Mailboxen und Pointprogramm-filtern wurden diese Mails beanstandet. Wer einen kleinen Obolus an mich entrichten moechte, weil dieses Tool ihm vielleicht Arbeit ersparen kann, der kann dies auf folgendes Konto machen: Mirko Thoele Postgiro Hamburg BLZ: 200 100 20 KTN: 641212 - 204 Ich sag dann schonmal von hier aus Danke. 8-) Die Original "IDEE" und die Grundlage dieser Dok, liegen eindeutig bei SMail V1.0 (c) Kai Szymanski. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Bekannte Bugs: -------------- Datumserstellung ist nicht 100% korrekt. Ich bin mir im Moment nicht darueber im klaren, wie ich die Offsets fuer die Zeitzonen richtig berechnen kann/muss. Mittlerweile bin ich mir schon im klaren, bin aber zu faul das einzubauen. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Changes: -------- 1.0 - 1.1 (21.10.96) - ANTWORT-AN: hinzugefuegt. - TELEFON: hinzugefuegt. - ORG: hinzugefuegt. - AllocVec durch AllocRemember ersetzt. 1.1 - 1.2 (29.12.96) - PRIO: hinzugefuegt. - POST: hinzugefuegt. 1.2 - 1.3 (04.01.97) - KOM: hinzugefuegt. ACHTUNG! Vorher wuerde bei der Parameteruebergabe von KOM="Kommentar" statt des KOM: Headers der ZUSAMMENFASSUNG: Header geschrieben. Dies war falsch! ZU= wird jetzt stattdessen benutzt!. - BOOL Point hinzugefuegt. Wird dieser Switch mit angegeben, so wird die MID: als ursprung@absender.system.domain geschrieben, und nicht wie vorher als ursprung@system.domain. - Es existierte ein boeser Fehler in der Dokumentation! DOMAIN= besteht natuerlich nicht alleine aus der Domain, sondern aus "netzname.do.main". - "Extended Help" erweitert. (Erreicht man durch "MakeZCMail ?", und nochmaliges eingaben von "?") - ACHTUNG: Wenn MakeZCMail in Scripten verwendet wird, bitte nochmal ueberpruefen ob eure Aufrufe noch stimmen, da sich dort etwas geaendert haben kann!!! (PU=PUFFER / P=POINT / PR=PRIO) - Bug gefunden (und behoben), der zum Speicherverlust fuehren konnte. 1.3 - 1.4 (10.01.97) - Bug behoben, der auftrat wenn der KOM Header nicht angegeben war. 1.4 - 1.5 (01.02.97) - Wird kein Realname angegeben, so wird nun nicht mehr ein zusaetzlicher Leerschritt nach dem Usernamen geschrieben. - Statt FPrintf() beim Schreiben des Mailbodys wird nun FWrite() benutzt. Dies haette ich von Anfang an tun sollen, aber ich rechnete einfach nicht damit, dass jemand Mails schreibt, die 100KB und groesser sind. Wie dem auch sei, FPrintf() kommt jedenfalls nicht mit Strings zurecht die eine bestimmte Groesse ueberschreiten. Dies bewirkte bei grossen Mails Fehler. (Anmerkung: Beim testen ist mir aufgefallen, dass das Einlesen der Mail ja Arschlangsam ist. Beizeiten wohl mal ueberarbeiten..) - BOOL NOROT hinzugefuegt. 1.5 - 1.6 (03.02.97) - Bugfix: Beim schreiben der Kommentare konnte es noch zu Fehlern kommen, muesste nun gefixt sein. - Debuginformationen im Source uebersehen %-(. (Vielleicht sollte man sich mit dem testen doch mal ein wenig Zeit lassen) - Verschiedene Tests, die Routine zum einlesen zu verschnellern (Blockweises einlesen / Konvertieren der Zeilen) schlugen fehl, Habe im Moment keine Idee wie ich diese ziemlich langsame Routine verschnellern kann. 1.6 - 1.7 (06.02.97) - Einlesen und Konvertieren der Mails um ein vielfaches verschnellert. Dies kommt vor allen Dingen bei grossen Mails zum tragen. Der entscheidene Tip kam im diesem Falle von Siliconsurfer. (Es geht nunmal wirklich schneller, wenn man strcat() einen Pointer auf das Ende des String uebergibt, und nicht auf den Anfang des Strings) 1.7 - 1.8 (08.03.97) - BOOL ISO hinzugefuegt. - POINT muss jetzt einen Pointnamen uebergeben bekommen! Ein Hinweis: Matthias Andree wies mich auf den Misstand hin, dass MakeZCMail die Header, und den Kommentar nicht in den ZC-Zeichnsatz konvertiert wird (Danke nochmal dafuer). Ich habe die Konvertierung so vorgenommen, wie ich sie verstanden habe. Ich hoffe ganz stark, dass es so richtig ist. 1.8 - 1.9 (24.03.97) - Bricht jetzt nicht mehr bei einer leeren Quelldatei mit der Fehlermeldung (Error allocation memory!) ab. 1.9 - 1.10 (INTERN) - Enforcerhit behoben (Byte-Read auf 0) 1.10 - 2.0 BETA 1 (22.04.97) ! WARNUNG: DIES IST EINE BETA VERSION. Durch das Einrichten multipler Empfaenger, und der Konfigurationsdatei waren *weitreichende* Umstellungen im Source noetig! Dadurch ist es moeglich, dass sich noch Fehler im Programm befinden, die zu einem Absturz fuehren koennen. Ich weise darauf hin, dass es zu diesem Zeitpunkt nicht ratsam ist, MakeZCMail OHNE AUFSICHT zu benutzen! Allerdings waehre es schon praktisch, wenn Du MakeZCMail 2.0 benutzt, da ich darauf angewiesen bin Bugreports zu bekommen. Keine Bugreports -> Keine Bugfixes. ! WARNUNG: DIES IST EINE BETA VERSION. - MakeZCMail.cfg integriert (Siehe Dokumentation!) - Multiple Empfaenger eingebaut. - Mulitple Kopieempfaenger eingebaut. - Wird kein Betreff angegeben, wird nun Quelldatei OHNE Pfad als Betreff genommen. (Vorher MIT Pfad) BETA 2 (27.04.97) - Weitere Fehlermeldugen hinzugefuegt. - MakeZCMail *musste* unweigerlich abstuerzen, sobald ein Kommentarfile angegeben war. (ARGL) - KONFIG hinzugefuegt. Hier kann man den Namen und Pfad des Konfigfiles angeben. Wird dies nicht angegeben, so wird PROGDIR:MakeZCMail.cfg angenommen. - Dokumentation ein wenig angepasst. BETA 3 (08.05.97) - MakeZCMail stuerzt nicht mehr ab, wenn ein Kommentar angegeben wird, der groesser als 65KB ist. Der Kommentar wird dann abgeschnitten! BETA 4 (20.05.97) - Fehler behoben, der unter bestimmten Umstaenden auftrat, wenn ein Kommentarfile angegeben wurde. BETA 5 (29.05.97) - Kleingeschriebene Bretter werden nach upper gewandelt. - Trailing Slash bei Brettern wird abgeschnitten. BETA 6 (09.06.97) - Bei EF=EMPFILE kann ein Filename uebergeben werden. In diesem File darf pro Zeile ein Empfaenger stehen. - Bei KF=KOPFILE kann ein Filename uebergeben werden. In diesem File darf pro Zeile ein Kopieempfaenger stehen. - Switch FORCENOTUSE eingebaut. Ist dieser Switch gesetzt, so wird beim Fehlen einer uebergebenen optionalen Konfig/EmpFile/KopFile, nicht versucht auf die Standardfiles zuzugreifen. BETA 7 (11.06.97) - Begrenzung der Kommenrlaenge von 65KB aufgehoben. Nur noch durch den vorhandenen Speicher begrenzt. BETA 8 (intern) - 2 Enforcerhits behoben. 2.0 RELEASE (29.06.97) -- Release 2.0 - 2.1 (03.07.97) - Check auf OS37 - Auf MemoryPools umgestellt. - ErrorLog wird erstellt. (PROGDIR:MakeZCMail.error) - Neuer Switch: QUIET (StdIO Ausgabe wird unterdrueckt) 2.1 - 2.2 (15.7.97) - Neuer Switch: MAPUMLAUTE (Umlaute werden expandiert (Ä -> Ae) Das Expandieren bezieht sich auf den Kommentar und den Body. - ARG_STDIO mit in die Konfigurationsdatei aufgenommen. - ARG_MAPUMLAUTE mit in die Konfigurationsdatei aufgenommen. - Es wird geprueft ob Brettnamen (Empfaenger) Leerzeichen enthalten, und gegebenenfalls eine Warnung ausgegeben. - Konfigurationsdatein ein wenig besser erklaert. 2.2 - 2.3 (11.08.97) - CheckEmpfaenger() ueberarbeitet. Diese Routine sollte *jeden* Fehler in einem Brettemfpaenger erkennen, und auch beheben. Unerlaubte Zeichen wie z.B. '&' werden aber weiterhin nur bemaengelt, da die meiste Software solch unerlaubte Zeichen zulaesst. - Der Name der Logdatei hat sich nach PROGDIR:MakeZCMail.log geaendert.