* Neues Feature: * * MMAIL kann jetzt Return-Receipt-To:-Zeilen (Zeile d) und Errors-To:-Zeilen * (Zeile e) erzeugen. * * MMAIL testet jetzt, ob die X-Charset:-Zeile im Header ben”tigt wird. Der * ganze ISO-Support ist durch den Schalter "-7" abschaltbar. Dadurch wird * aber keine 7-Bit-Filterung vorgenommen, d. h. der Benutzer sollte selbst * sicherstellen, da˛ keine Zeichen mit gesetztem MSB in den Daten vorkommen. * MMAIL HERMES UUCP-Software MMAIL ist ein Hilfsprogramm, das normalerweise nur von anderen Programmen (z.B. Fileserver, Reflector, aber natuerlich auch Newsreaderteil und Mailreaderteil der GUS) aufgerufen wird, um Mails und Newsartikel in die Mailqueue zu schreiben. MMAIL setzt dabei alle in einem Text enthaltenen ST-Sonderzeichen in ISO-Sonderzeichen um. Eigentlich ist MMAIL nicht zum direkten Aufruf gedacht, ich will die Funktion aber trotzdem hier erlaeutern. MMAIL ohne Parameter gibt einen Hilfstext ueber seine Funktion aus. Der mysterioese Aufruf ist (natuerlich) historisch bedingt. MMAIL wurde vor langer Zeit geschrieben, als die damals aktuelle Version von RN aus der Mercury-Paket zwar schon Replies (mit eben diesem Aufruf-Format) unterstuetzte, MAIL diesen Aufruf aber nicht verstand. Da der Aufruf so wie er ist funktioniert, ist er zwar oft erweitert, aber nie grundlegend geaendert worden. MMAIL kennt fuenf Optionen : -e : Angabe des zu benutzenden Editors, anstelle des im CONFIG.SYS voreingestellten Systemeditors. Beachte das Leerzeichen zwischen -e und dem Filenamen. -f : Nur fuer Spezialzwecke (z.B. beim Reflektor). Im Envelope (From_-Zeile und X-File) wird der User als Absender der Mail angegeben, so dass Fehlermails an diesen und nicht an den "wahren" Absender (der unveraendert in der From:-Zeile steht) geht. -k : "Keep". Control- und Datenfile werden NICHT geloescht. Dieser Parameter ist optional und hat kein weiteres Argument. Fehlt er (das ist der Normalfall), so werden sowohl das Control- als auch das Datenfile ohne Rueckfrage geloescht ! Achtung: Wenn Control- und Datenfile nicht geloescht werden, dann werden die Files natuerlich beim naechsten Aufruf nochmals bearbeitet ! -n : "Non-interactive". Der Editor wird NICHT aufgerufen, und es wird auch keine Rueckfrage beim Benutzer gemacht, ob die Mail versandt werden soll. Ausserdem werden Warnungen unterdrueckt. Dieser Parameter ist optional und hat kein weiteres Argument. Benoetigt wird dieser Modus fuer automatischen Betrieb, also z.B. Fileserver oder Reflektor, im Gegensatz zu Mails/News-Programmen. -r : Das "-r" wird nur gebraucht, wenn der Name des Control-Files nicht ganz hinten in der Kommandozeile steht. Nach dem "-r" (und einem Space) oder hinter allen Optionen wird der Name des Control-Files angegeben, das fuer Mails folgenden Aufbau hat (zum Beispiel:) 1datafile.dat 2Alles putt 3martini@heaven7 "datafile.dat" ist der Name der Datei, die die eigentliche Message enthaelt. Wird "-n" nicht angegeben, dann wird der Editor fuer diese Datei aufgerufen, so dass der Benutzer sie (nochmals) editieren kann. "Alles putt" ist das Subject, und "martini@heaven7" ist der Empfaenger. Soll nicht gemailt, sondern gepostet werden, dann kommt in Zeile 3 die [Liste der] Newsgroups und in Zeile 4 die Distribution. Das ist wichtig, denn am Auftreten der Zeile 4 wird erkannt, dass es sich um ein Posting (News) und nicht um Mail handelt. Bei Newsartikeln gibt es ausserdem noch weitere optionale Zeilen: 5 (Keywords:) 6 (Summary:) 7 (Followup-To:) 8 (References:) 9 (Reply-To:) a (Cc:) b (To:) c (X-Software:) Die Zeilen a und b funktionieren nur richtig, wenn Zeile 4 fehlt (logisch, sonst waere es ein Newsartikel und keine Mail) Die Reihenfolge der Zeilen ist nicht wichtig, dazu gibt es ja die Nummer in der ersten Spalte. Von den Zeilen 5 bis 8 koennen beliebige weggelassen werden, die betreffenden Header-Felder werden dann nicht erzeugt. Noch ein paar Erlaeuterungen zu den Spezialfaellen bei Mail (Zeilen 3, a und b). Die Zeilen a ("Cc") und b ("To") werden als entsprechende Headerzeilen in die Mail eingetragen. Zum Versenden der Mail werden allerdings nicht die Adressen aus diesen beiden Zeilen benutzt, sondern die Adressen aus Zeile 3 (Adressat) und a (Kopien mit "Cc"). Das wird vom Fileserver benutzt, der auf diese Weise in Zeile 3 den selbstgerouteten Bang-Pfad schreibt (diesen Weg nimmt die Mail tatsaechlich), aber im Header durch Zeile b die nicht geroutete Originaladresse eintragen laesst. Wenn die Zeile b ("To") fehlt, wird trotzdem ein korrekter Header erzeugt, indem im Header die Adresse aus Zeile 3 eingetragen wird. Da das ganze etwas kompliziert ist, hier als Tabelle : ('???' steht dabei fuer einen beliebigen Eintrag) 3 | a (Cc) | b (To) | Folgen +-----+--------+--------+--------------------------------------+ 'x' | ??? | ??? | Mail wird an 'x' geschickt ??? | 'y' | ??? | Mail wird an 'y' geschickt +-----+--------+--------+--------------------------------------+ 'x' | ??? | LEER | 'x' im To-Feld des Headers 'x' | ??? | 'z' | 'z' im To-Feld des Headers ??? | 'y' | ??? | 'y' im Cc-Feld des Headers +-----+--------+--------+--------------------------------------+ 'x' | --- | ('x') | einfache Mail an 'x', To an 'x' 'x' | 'y' | ('x') | Mail an 'x,y', To an 'x', Cc an 'y' 'x,X'| --- | 'x' | Mail an 'x,X', To an 'x', Bcc an 'X' 'x' | --- | 'z' | Mail an 'x', To an 'z' (Fileserver) 'x,X'| 'y' | 'z' | Kombination aus diesen Faellen: | | | Mail an 'x,y,X', To:z, Cc:y, Bcc:X Erhaelt man im interaktiven Modus die Moeglichkeit, nachtraeglich noch einzelne Zeilen des Controlfiles zu modifizieren, so gilt das gleiche, d.h. insbesondere, dass Aenderungen der Zeile b ("To") nur eine Auswirkung auf den Headertext der Mail haben und dass dieser zusaetzliche Adressat die Mail nicht bekommen wird. Zum korrekten Hinzufuegen eines zusaetzlichen Adressaten muss man sowohl die Zeile b ("To") als auch die Zeile 3(!) aendern (zumindest aber die Zeile 3, auch wenn dann dieser Adressat als 'Bcc' unsichtbar bleibt) Jede Zeilennummer darf im Controlfile nur einmal vorkommen. MMAIL kann alias-Definitionen verstehen. Er sucht dabei zuerst im Home-Directory des aktuellen Benutzers im File ALIAS (falls vorhanden) und danach im Standard-Alias-File (CONFIG.SYS, Zeile 0102). Das Alias-File besteht aus Zeilen mit jeweils einem Alias-Namen und ein oder mehreren Adressen, z.B. : martini martini@heaven7.uucp anson anson@akb.in-berlin.de anson@net.mbx.sub.org MMAIL ist das Programm, das die Signature anhaengt. Dazu sucht es zunaechst nach einer Datei SIGNATUR im Homedirectory. Ist eine solche nicht vorhanden, wird (bei Mails) nach SIGNATUR.MAI bzw. (bei News) SIGNATUR.NET gesucht. Man kann also verschiedene Signature-Files fuer Mail und News benutzen, man muss aber das File nicht zweimal haben, wenn man das nicht will.