Dieses Programm erlaubt zum einen, diverse Macken bestehender Newsreader/Mailreader zu umgehen und zum anderen, diverse Komfortfunktionen nachzurüsten. Dies wird dadurch erreicht, daß Korrnews nach dem Verschicken im News/Mailreader, aber vor dem wirklichen Versenden mit dem lokalen Newsserver aufgerufen wird und die als plain Text vorliegenden Dateien anhand seiner Einstellungen überarbeitet.
Korrnews ist für die Zusammenarbeit mit dem Hamster entwickelt worden, es spricht allerdings nichts dagegen, auch einen anderen Server einzusetzen, sofern die entsprechenden Randbedingungen passen. Zur Zeit sollte es ohne Änderungsaufwand mit Morver funktionieren und auch mit Crosspoint sollte es in der aktuellen Version zusammenarbeiten können.
Der "Lieferumfang" enthält folgende Dateien:
Anwendung direkt "im" Hamster:
Sofern eine aktuelle Hamsterversion wie 22.0 oder höher eingesetzt wird, kann mittels Assistent der Aufruf dauerhaft so eingerichtet werden, daß jedes Posting und jede ausgehende Mail automatisch nachbearbeitet werden. Die im folgenden gezeigten Skripte sind dann nicht mehr nötig.
Anwendung z.B. innerhalb eines Hamster-Skripts:
Neue Sprachversion, kurzes Skript:#!hs2 Execute ( "KorrNews.exe Mails News", "", 1, true ) HamRasDial( "..." ) HamMailExchange HamNewsPost HamNewsPull HamWaitIdle HamRasHangUp quitNeue Sprachversion, langes Skript:
#!hs2 #!debug 1 debug(1, "Warten") HamWaitIdle debug(1, "Funktionen deaktivieren") HamMessage ( 2, 0 ) # Reset Counter HamMessage ( 5, 0 ) # Stop SMTP-Server HamMessage ( 3, 0 ) # Stop NNTP-Server debug(1, "Korrnews starten") Execute ( "KorrNews.exe Mails News", "", 1, true ) debug(1, "Verbindung herstellen") HamRasDial( "..." ) debug(1, "Die Arbeit beginnt...") HamSendmail ( ... ) HamFetchmail ( ... ) ... HamNewsPost HamNewsPull HamWaitIdle HamRasHangUp Execute ( "mixgroup.exe", "", 1, true ) Execute ( "CopyFups.exe", "", 1, true ) HamMessage ( 5, 1 ) # Restart SMTP-Server HamMessage ( 3, 1 ) # Restart NNTP-Server print( "Fertig!" ) quitMixgroup und CopyFups sind zusätzliche Tools von mir, die optional sind oder auch durch CopyIf komplett ersetzbar sind.
# Counter löschen message 2 # Lokale Mail/News-Funktionalität abklemmen, um unbearbeitete # Nachrichten zu verhindern message 5 0 message 3 0 # Korrnews aufrufen start.wait "KorrNews.exe Mails News" wait.idle # DFÜ-Verbindung aufbauen ras.dial "..." wait.idle # Parallel Post verschicken/abholen, News verschicken/abholen sendmail "..." "smtp" "" fetchmail "..." "pop3" "" "" "..." news.post news.pull # Auflegen, wenn fertig wait.idle ras.hangup # Lokale Mail/News-Funktionalität reaktivieren message 5 1 message 3 1 # ggf. Antworten per CopyFups in Spezialgruppe(n) sortieren start.wait "CopyFups.exe"
Um den Korrnews-Aufruf in diesem Skript so direkt nutzen zu können, sind folgende Einstellungen nötig: Korrnews muß im Hamsterverzeichnis liegen, die Header.def auch, eventuell verwendete Sig-Dateien ebenfalls. Normalerweise sollte Korrnews beim ersten Starten Message-Path korrekt anpassen, ansonsten muss dies ggf. nachgeholt werden - für Mail ist im Hamster der Pfad "Mails\Mail.out" relevant, für News der Pfad "Groups\News.out".
Alle sonstigen Optionen müssen bei Bedarf für News und Mail separat eingestellt werden. Möchte man für Mail und News verschiedene "Header.def"s, kann man dies ebenfalls in der Konfiguration einstellen.
Die Konfiguration erreicht man sehr einfach: Sobald Korrnews ohne Parameter gestartet wird, kommt man direkt in den Konfigurationsdialog.
Die Konfiguration erreichen Sie durch Starten von Korrnews ohne Parameter. Links sehen sie die Liste der Abschnitte, rechts die konkreten Einstellungen. Die erste Zeile in der Liste enthält die allgemeine Konfiguration.
Die allgemeine Konfiguration regelt die Dinge, die für alle spezifischen Abschnitte gemeinsam gelten sollen. Beim Starten von Korrnews steht der Auswahlbalken automatisch auf der allgemeinen Konfiguration. Die einzelnen Einstellungen sind durch die Buttons rechts erreichbar.
Der Assistent soll bestimmte Vorgänge etwas vereinfachen, zur Zeit sind folgende Funktionen im Assistent verfügbar:
Im Hamster automatisch aufrufen: Wie weiter oben erwähnt, ist der Hamster in seiner aktuellen Fassung in der Lage, über sogenannte "Actions" schon beim direkten Empfang von Mails oder News Korrnews aufzurufen. Die Konfiguration dieser Actions kann mittels dieser Schaltfläche incl. Einrichtung der entsprechenden Abschnitte auf einen Schlag erledigt werden.
Spezifische Funktionen für Outlook Express aktivieren: Eine Vereinfachung für OE-Nutzer, die keine Lust haben, sich die Optionen einzeln durchzuschauen, der Hinttext erläutert, was exakt aktiviert wird.
Boxquotes sind eine spezielle Art von Zitaten, welche zur Hervorhebung oder für externe Zitate gedacht sind und aus dem Linux-Newsreader-Raum stammen. In Korrnews sind bis zu neun verschiedene Boxquote-Konfigurationen möglich, die Details kann der Nutzer über den hierüber erreichbaren Dialog einstellen.
Im Dialog sind die Zeilen einstellbar, die für Korrnews die konkrete Erkennung erlauben, diese Zeilen müssen bei der Benutzung exakt incl. Klein/Großschreibung der Einstellung entsprechen. Ob der zitierte Text aus einer externen Datei stammen soll oder im Text selber auftaucht, wird in der jeweiligen Boxquote-Definition eingestellt. Die Erläuterung der weiteren Optionen kann ich mir dank der integrierten Vorschau hier wohl ersparen.
Die Verwendung von Boxquotes sieht dann so aus: Wenn man für den entsprechenden spezifischen Abschnitt die Verwendung von Boxquotes gestattet hat, muß man im Falle von Datei-Boxquotes nur die definierte Anfangszeile gefolgt vom Dateinamen in eine einzelne Zeile schreiben, im anderen Fall muß die Anfangszeile als Einzelzeile im Posting stehen, in der nächsten Zeile kann dann ggf. die Überschrift kommen (und in der darauffolgenden Zeile dann natürlich der eingestellte Trenner Titel/Text) und anschliessend der eigentliche Text, der irgendwann mal mit der eingestellten Endzeile abgeschlossen werden muss. Die Umsetzung erfolgt dann, sobald Korrnews den Artikel zum Bearbeiten erhält.
Fußnoten dienen dazu, URLs oder Zusatzerläuterungen, welche den gerade getippten Satz zu sehr aufblähen würden, am Ende des Postings gesammelt aufführen zu können.
Im Dialog sind folgende Einstellungen nötig: Die Anfangs- und Endkennung, die gewünschte Zeilenbreite und ggf. der Platzhalter für Zeilenumbrüche (sofern er leer ist, sind innerhalb von Fußnoten eben keine Zeilenumbrüche möglich). Für die Darstellung kann noch entschieden werden, ob die Fußnoten ober- oder (IMHO sinnvoller) unterhalb der "Lines" kommen sollen, ob eine Überschrift gewünscht ist, ob und wenn mit welchem Zeichen sie unterstrichen werden soll und ob danach noch eine Leerzeile gewünscht ist.
Die Anwendung sieht dann so aus: Wenn man für den entsprechenden spezifischen Abschnitt die Verwendung von Fußnoten gestattet hat, und man als Anfangskennung beispielsweise "(FN:" und als Endkennung "#)" eingetragen hat, kann man im Text z.B. folgendes schreiben:
Um Hamster(FN: einen lokalen News/Mailserver für Windows#) voll auszureizen, sind die Tools Korrnews(FN: http://home.knuut.de/tgl///(Da gibt's auch den Hamster selber)#) und CopyIf(FN: ebenfalls auf TGLs(FN: aka "Thomas G. Liesner"#) Homepage zu finden#) sehr zu empfehlen. Bei Nutzung von OE kann man dann sogar weitgehend RFC-konforme Postings erzeugen. Bye, MarcusAls Ergebnis wird sowas wie folgendes herauskommen:
Um Hamster[1] voll auszureizen, sind die Tools Korrnews[2] und CopyIf[3]
sehr zu empfehlen.
Bei Nutzung von OE kann man dann sogar weitgehend RFC-konforme Postings
erzeugen.
Bye, Marcus
Fußnoten:
=========
[1] einen lokalen News/Mailserver für Windows
[2] http://home.knuut.de/tgl
(Da gibt's auch den Hamster selber)
[3] ebenfalls auf TGLs[4] Homepage zu finden
[4] aka "Thomas G. Liesner"
Einige Fallstricke sind zu beachten: Um einen korrekten Umbruch zu erhalten,
empfielt sich ein Leerzeichen nach der Fußnoteneinleitung. Eine Fußnote darf
zudem nicht über Absatzgrenzen hinaus gehen, ansonsten würde sie nicht als
solche erkannt. Die Absatzerkennung selber dürfte im Normalfall korrekt arbeiten,
mit Leerzeilen zwischen den Absätzen kann man Fehlerkennungen noch zuverlässiger
verhindern. Außerdem werden Fußnoten nicht in Zitaten ausgeführt.
Wenn ein Einzelabschnitt ausgewählt ist, erscheint rechts ein Karteireiter mit den Optionen des Abschnitts.
Mit dem Button "Neu" oberhalb der Liste erzeugt man einen neuen Abschnitt mit den Defaulteinstellungen, mit "Neue Kopie" dubliziert man die Einstellungen des aktuellen Abschnitts unter einem neuen Namen und mit "Löschen" kann ein Abschnitt wieder gelöscht werden. Neu und Löschen wirken sich jeweils sofort aus, Änderungen an den Einstellungen eines bestehenden Abschnitts werden dagegen erst beim Drücken von "OK" gesichert. Um die Funktionen auszutesten, empfehlen sich "Trockenübungen": Einfach Korrnews mit Parameter aufrufen und die geänderten msg-Dateien anschauen, das erspart etliche Testpostings. Der Aufruf von Korrnews selber erzeugt übrigens bis auf ein kurzes Aufblitzen in der Taskleiste keine Reaktion - die Tätigkeit erkennt man somit praktisch nur am Ergebnis, bei Nutzung von Only_KN.exe entfällt sogar dieser Hinweis. Der Beispielheader "X-Korrnews: Used" ist z.B. ein ganz guter Indikator, daß der Aufruf selber geklappt hat. Falls man der Eitelkeit des Autors Genüge tun möchte, kann man gerne in irgendeinem Header einen Verweis auf die Nutzung von Korrnews stehen lassen, dies ist aber natürlich rein freiwillig.MessagePath:
erlaubt es, Korrnews incl. Hilfsdateien (ini-Datei und header.def) in
einem beliebigen Verzeichnis ausserhalb des Message-Verzeichnisses zu halten. Sofern ein
MessagePath gesetzt ist, werden die Mails oder Newsbeiträge aus diesem Ordner bearbeitet
und nicht mehr die im Korrnews-Ordner selber. Im Zusammenhang mit Hamster sind
die Abschnitte "Hamsterverzeichnis\Groups\News.out" und "Hamsterverzeichnis\Mails\Mails.out"
relevant, diese werden automatisch gesetzt, wenn Korrnews direkt ins Hamsterverzeichnis
installiert wird.
(Korrnews.ini: Option "Messagepath", Default: leer)
FilePath:
erlaubt es, die Hilfsdatei(en) für Korrnews (header.def, Signaturdateien ohne Pfadangabe) in
einem Verzeichnis ausserhalb des Programm-Verzeichnisses zu halten.
(Korrnews.ini: Option "Filepath", Default: leer)
Header.def:
Falls man in verschiedenen Abschnitten (also z.B. Mail und News)
verschiedene Header-Definitionen wünscht,
kann man hiermit die Header-Datei je Abschnitt bestimmen.
Um die aktuell gewählte Datei zu bearbeiten, reicht ein Klick auf die
Schaltfläche "Edit". Der Name "Header.def" ist eher traditionell als sinnvoll
und bezieht sich auf die Erstversionen, die über die Header.def wirklich nur
das Setzen/Löschen einzelner Header erlaubt haben.
(Korrnews.ini: Option "Header.def", Default: "Header.def")
Dateiendung der Posting/Maildateien:
entscheidet, welche Dateien Korrnews nachbearbeiten soll. Im Falle vom Hamster ist
die Endung "msg" relevant, falls stattdessen z.B. MTQ unterstützt werden soll,
wäre die Endung "*" passender. Ein leerer Eintrag steht wirklich für Dateien ohne
Endung.
(Korrnews.ini: Option "CheckFilesWithExtension", Default: "msg")
Die ersten xx und letzten xx Zeilen ignorieren:
Diese Einstellung ist speziell für Crosspoint integriert worden und sorgt dafür,
daß die ersten und/oder letzten Zeilen garantiert unverändert bleiben und Korrnews
"nur" den Rest bearbeitet.
(Korrnews.ini: Option "SafeReg1" und "SafeReg2", Default: "0")
Änderungen in Kopien mit folgender Endung speichern:
erlaubt es, mit Korrnews erst mal zu experimentieren. Sofern diese Einstellung gesetzt ist,
werden die originalen Dateien nicht mehr mit der korrigierten Version überschrieben, sondern
die korrigierte Version wird unter der hier angegebenen Endung gespeichert. Wenn z.B. "neu"
angegeben wird, wird aus "00000023.msg" die korrigierte "00000023.neu", ohne daß die alte
"00000023.msg" überschrieben/geändert würde.
(Korrnews.ini: Option "DontChangeRenameToExtension", Default: leer)
Backups erstellen:
entscheidet darüber, ob die Originalnachricht als "Bak" gespeichert
werden soll.
(Korrnews.ini: Option "MakeBak", Default: "0", wobei "0" für "Nein" und "1" für "Ja" steht)
Die folgenden Funktionen beziehen sich auf den Header der Postings bzw. Mails, die Defaults sind unproblematisch gewählt, sollten aber trotzdem auf die eigenen Bedürfnisse abgestimmt werden.
Optimierte ISO-Kodierung der Header-Zeilen:
Diese Funktion hilft vor allem XNews- oder Free Agent-Anwendern, deren Headereinträge
üblicherweise falsch (=gar nicht) kodiert sind, aber auch Forte-Agent-Nutzern,
da Forte Agent die Kodierung nicht optimal handhabt: Vor allem im Subject stört es,
daß Agent alles kodiert incl. des "Re:", so daß schlechtere Newsreader unnötige Probleme
beim korrektem Antworten bekommen. Die verbesserte Kodierung berücksichtigt auch
Base64-Kodierung (beim Dekodieren) und das sogenannte "Folding" nach 76 Zeichen.
Die Besonderheiten des From- bzw. Reply-To-Header werden berücksichtigt.
Beim Dekodieren wird bislang nur der Zeichensatz ISO-8859-1 unterstützt.
(Korrnews.ini: Option "CheckMIMEHeaders", Default: "1", also "Ja")
Diese Funktionen dienen der Nachkorrektur der Subject-Zeile, in manchen Programmen auch als "Betreff" bekannt.
"Re: Hallo (was: Huhu)" => "Re: Hallo":
Kürzen des "was"-Teils: Laut Netiquette sollen Threads nach folgendem Schema
umbenannt werden:
Subject: "Hallo" Subject: "Re: Hallo" ... Subject: "Tschuess (was: Hallo)" Subject: "Re: Tschuess" ...Die meisten Win-Newsreader belassen ein einmal gesetztes "was:" bis zur manuellen Entfernung, also in den meisten Fällen nie. Dies kann daher durch Korrnews automatisch erledigt werden. Das "(was:...)" wird genau dann von Korrnews entfernt, wenn die entsprechende Option aktiviert ist (Default), das Subject mit "Re:" beginnt (bzw. durch die vorherigen Funktionen entsprechend geändert wurde) und der hintere Subjectteil aus "(was:...)" besteht.
"Re: AW: Re: Hallo" => "Re: Hallo" + Liste der "Re"-Kürzel:
Multiple "Re:"s: Diese Option erlaubt das automatische Kürzen von mehrfachen Res, aus
"Re: Re: Re: Hallo" würde also "Re: Hallo". Wirklich Sinn macht dies, wenn noch die Liste
der falschen Einleitungskürzeln gefüllt wird, um auch "Re: AW: Re: AW: Ups" nach "Re: Ups"
oder "Re: Re^2: Ups" nach "Re: Ups" kürzen zu können.
(Korrnews.ini: Option "DelDoubleRe", Default: "1", also "Ja", und Option
"AnswerDesignators", Default "AW,Re^2,Re^3,Re^4")
Subjectanfang nach "Re:" wandeln:
Manche Newsreader verwenden statt dem korrekten "Re" andere Kürzel, konkret
sind z.B. alte MS-Newsprogramme oder die deutsche Gravity-Version dafür bekannt ("AW")
oder aktuell Lotus Notes mit "Antwort". Mit dieser Option wird die eingestellte
Einleitung automatisch durch Re ersetzt, wenn Korrnews den Artikel bzw. die Mail
korrigiert. Macht natürlich nur Sinn, wenn man selber entsprechend kaputte Software
einsetzt, für die Korrektur von 'fremden' Falsch-Res ist ja die vorige Option
zuständig.
(Korrnews.ini: Option "ConvertToRe", Default: leer)
Umlaute in neuem Subject umschreiben:
Da bekanntlich viele Newsreader Probleme oder Fehler im Zusammenhang
mit Umlauten im Header haben (Netscape setzt gerne ein Leerzeichen hinzu,
andere Newsreader zeigen die Sachen kodiert an...), ist es durchaus sinnvoll,
freiwillig auf Umlaute im Subject zu verzichten. Mit dieser Option korrigiert
Korrnews das Subject bei Bedarf entsprechend, aus "Und tschüß, liebe Leute! (Just my 2€)"
wird dann "Und tschuess, liebe Leute! (Just my 2 Euro)". Die Ersetzliste ist zur
Zeit noch nicht konfigurierbar, aber für die Umlaute reicht es allemal. Die
Funktion arbeitet nur, wenn das Subject nicht mit "Re:" anfängt, da Änderungen innerhalb
eines laufenden Threads keinen Sinn machen.
(Korrnews.ini: Option "CheckReplaceSubject8Bits", Default: "0", also "Nein")
mail@adr (name) => "Name"
Für die Formatierung der Adress-Header gibt es verschiedene Alternativen. Die inzwischen
gebräuchlichste ist das Format "Name"
Diese Option erlaubt es, ein vom News/Mailreader generiertes "altes" Format automatisch
umzusetzen und/oder bei Bedarf benötige Anführungsstriche hinzuzufügen. Letzeres ist
z.B. bei Agent-Anwendern nötig, da Agent die Anführungsstriche gerne vergisst.
(Korrnews.ini: Option "CheckFromReplyFormat", Default: "0", also "Nein", "1" steht
für "Ja")
Neu berechnen und automatisch setzen:
Diese Option erlaubt es Korrnews, nach seinen Änderungen den Header Lines zu korrigieren.
Zur Zeit wird diese Funktion nur dann benutzt, wenn keine Attachments vorliegen. Die andere
Alternative ist eine "Delete Header Lines"-Anweisung in der header.def, dann wird im
Zweifelsfall der Mail- oder Newsserver diesen Header nachliefern.
(Korrnews.ini: Option "SetLines", Default: "1", also "Ja", "0" steht
für "Nein")
Automatisch erstellen:
Diese Option erlaubt es, den Date-Header während des Korrnews-Laufs zu setzen,
wenn er noch fehlt oder sogar immer.
(Korrnews.ini: Option "SetDateHeader", Default: "0", also "Niemals", "1" steht
für "Nur,wenn fehlend" und "2" für "Immer")
Gewünschtes Format:
Bestimmt das Format des Date-Headers, sofern von Korrnews gesetzt.
Entweder "GMT" oder "Local", im zweiten Fall wird die Zeitzone mit angegeben.
(Korrnews.ini: Option "DateHeaderType", Default: "Local", die Gegenoption
heisst "GMT")
MaxReferencesLength:
Da manche Newsserver mit überlangen References Probleme haben, erlaubt diese Einstellung
ein automatisches Kürzen auf eine einstellbare Maximallänge. Dabei bleibt die erste
und die letzten drei Message-IDs auf jeden Fall erhalten, gekürzt wird - falls nötig
- ansonsten ab der zweiten Message-ID.
(Korrnews.ini: Option "MaxReferencesLength", Default: 512)
"Folding aktivieren":
Erlaubt das sogenannte "Falten" der References d.h. aus
References: <899he5.3vvht89.0@mm.invalid.de> <38b84ec1/2fae/3e9_tin-rules@metasystox.qad.org> <89bu3v$o0i$1@onlinenews.germany.net> <27-02-00.22-04-57.dcpm.2071@futzelnet.de> <89e4jj.3vvo747.0@hneu.de> <28-02-00.19-25-32.dcpm.2092@futzelnet.de> <89eqe0.3vvpgep.0@hneu.de> <slrn8bqoh3.ok.usenet@PowerPC.hazardous.org> <MTRD80884C70EC@metrodix.de> <slrn8bvvle.nn.usenet@PowerPC.hazardous.org> <MTRD81354C78DB@metrodix.de>wird dann
References: <899he5.3vvht89.0@mm.invalid.de>
<38b84ec1/2fae/3e9_tin-rules@metasystox.qad.org>
<89bu3v$o0i$1@onlinenews.germany.net>
<27-02-00.22-04-57.dcpm.2071@futzelnet.de> <89e4jj.3vvo747.0@hneu.de>
<28-02-00.19-25-32.dcpm.2092@futzelnet.de> <89eqe0.3vvpgep.0@hneu.de>
<slrn8bqoh3.ok.usenet@PowerPC.hazardous.org>
<MTRD80884C70EC@metrodix.de>
<slrn8bvvle.nn.usenet@PowerPC.hazardous.org>
<MTRD81354C78DB@metrodix.de>
Die Verwendung ist im Endeffekt reine Geschmackssache.
Diese Option erlaubt eine Umsortierung der Header nach eigenen Wünschen und entspricht
dem entsprechenden "Do Sort Header"-Befehl innerhalb der header.def. Letzterer wird
- sofern vorhanden - übrigens nach der hier eingestellten Option ausgeführt und hat dann
somit Priorität.
Achten Sie bei der Eingabe der Header darauf, daß sie mit Kommata voneinander getrennt sind,
aber weder am Anfang noch am Ende ein Komma stehenbleibt, da ansonsten ein Laufzeitfehler
passieren dürfte.
Zur eigentlichen Funktionalität:
Die Option sorgt dafür, daß alle hier aufgeführten Header an den Anfang sortiert werden
in der angegebenen Reihenfolge. Nicht vorhandene, aber aufgeführte Header werden ignoriert,
mehrfach vorkommende Header werden untereinander einsortiert, alle nicht erwähnten Header
landen unterhalb in ihrer originalen Reihenfolge.
Die spezifischen Hamster-Mail-Header haben übrigens trotzdem noch Vorrang, sofern die
entsprechende Option aktiv ist.
(Korrnews.ini: Option "SortHeader", Default: "", also "Nein")
Diese Option ist funktioniell auch über die Header.def machbar, hierüber allerdings leichter erreichbar. Sie müssen nur die gewünschten X-Header-Einträge machen, je Header eine Zeile. Mit
X-Newsreader: Sag' ich nich' X-Newsreader-geheim: Forte Agent incl. Korrnews & Co X-Prioritysetzen sie einen "X-Newsreader"-Header, der den normalen überschreibt, einen zusätzlichen Header "X-Newsreader-geheim" und löschen einen eventuell existierenden "X-Priority"-Header. Falls Sie auch andere Header (Lines etc) ändern wollen, können Sie dazu die Header.def nutzen.
Message-ID-Anfänge kürzen:
Diese Option ist für Nutzer von meinem "CopyFups.exe" vorgesehen: CopyFups kopiert
nicht nur die Follow-Ups, sondern ergänzt deren Message-IDs ggf. noch
von vorne um einen frei eingebbaren String. Wenn man dann direkt auf diese Kopien
antwortet, sind die References natürlich nicht mehr korrekt.
Dies läßt sich von Korrnews wieder reparieren. Sofern CopyFups im selben
Verzeichnis ist, übernimmt Korrnews die nötige Angabe direkt aus der
CopyFups.ini (Settings / AddToMessageID). Mehrere Löschstrings sind möglich
und müssen dann mit Kommata getrennt werden.
Die Nutzer von "CopyIf.exe" brauchen diese Option eigentlich gar nicht, da CopyIf.exe und Korrnews
sich die entsprechenden Angaben mittels der win.ini automatisch mitteilen.
(Korrnews.ini: Option "KillMessageIDBegins", Default: leer)
!MAIL FROM und !RCPT TO - Header zuerst:
Diese Option sorgt dafür, daß unabhängig von Umsortierungen der Header oder
einer temporären Löschung eines dieser Header die beiden Header immer ganz
oben stehen. Ansonsten kann der Hamster beim Verschicken Probleme bekommen.
Eine Abschaltung wird daher nicht empfohlen.
(Korrnews.ini: Option "HamsterHeaderFirst", Default: 1 = "an")
RCPT-To-Liste neu generieren (To, CC):
Falls man bei einer Hamstermail die To- oder CC-Einträge nachträglich ändert, werden
sie trotzdem nicht korrekt ausgeliefert, da sich die Auslieferung nach den RCPT-To-Headern
richtet. Diese können mittels dieser Option automatisch nachgeneriert werden.
Bei der Neugenerierung greift Korrnews auf den To- und den CC-Header zurück.
Beim Neugenerieren werden alte Einträge nicht gelöscht, da ansonsten BCC-Einträge
nicht 'überleben' würden. Um die Liste somit auf To und CC zu beschränken ist
zusätzlich die Anweisung "Delete Header RCPT-To" in der Header.def nötig und
die Aktivierung der danach erläuterten Option.
(Korrnews.ini: Option "RecreateRCPT_To", Default: 0 = "aus")
Auch, wenn noch keiner vorhanden:
Sicherheitshalber erwartet Korrnews default-mäßig eine bereits existierende Liste,
bevor die RCPT-To-Liste neu erzeugt. Diese Sicherheitseinstellung ist hier abstellbar.
(Korrnews.ini: Option "RecreateRCPT_To_Always", Default: 0 = "aus")
Diese Optionen beziehen sich auf alles unterhalb des Headers - wobei allerdings die Optionen bzgl. der Zeichenkodierung durchaus auch noch Änderungen am Header miteinschließen.
Korrnews erlaubt es, innerhalb eines Postings zusätzliche Header einzufügen, die dann automatisch in echte Header verwandelt werden und in der Header.def sogar zu Steuerungszwecken verwendet werden können. Eine Beispielanwendung wäre z.B. ein "Supersedes", der vom Agent sonst ohne zusätzlichen Aufwand nicht machbar ist.
Die Anwendung sieht so aus:
Falls die erste Zeile mit "X-" oder "@" anfängt, wird diese in einen echten Header gewandelt, wobei das "@" gebraucht wird, wenn der Header nicht mit X- anfängt, das "@" selber wird natürlich nicht mit in den Header übertragen. Sofern die nächsten Zeilen ebenfall als Pseudo-Header erkannt werden, werden diese ebenfalls übertragen.
Mit
X-Newsreader: Sag ich nicht X-Ironie: Detected @Reply-To: ich.habe.auch@diese.Adres.se @Organization: xyz schrieb: > ....
erreicht man z.B., daß der normale X-Newsreader-Eintrag überschrieben wird, ein Pseudo-Eintrag X-Ironie eingefügt wird, das Reply-To korrigiert bzw. neu eingesetzt wird und daß der Organization-Header gelöscht wird (auch wenn der Provider dies dann wohl für eine eigene Angabe nutzen wird).
Statt dem ":" ist auch ein "=" zulässig, dies wird automatisch in ein ":" gewandelt, wenn kein anderes enthalten ist. Das Leerzeichen zwischen dem ":" und dem Rest wird ggf. auch nachgetragen.
Die "@"-Variante ist standardmäßig deaktiviert.
Sowohl bei dauerhaften als auch bei temporären Headern werden die Inhalte automatisch auf Sonderzeichen geprüft und ggf. nach ISO konvertiert.
Temporäre Header haben immer Vorrang vor dauerhaften Headern.
Eine Sonderbedeutung hat der Header "x-check-body: no" - Dieser erlaubt es, die sonst eingestellten Änderungen am Textbody für das aktuelle Posting/die aktuelle Mail abzuschalten.
Manuelle X-Header erlauben:
erlaubt zusätzliche X-Header, die direkt im Textbody definiert werden können,
(Korrnews.ini: Option "AllowXHeader", Default: "1", also "Ja")
Manuelle sonstige Header erlauben:
erlaubt auch das Setzen normaler Header mit "@" davor.
(Korrnews.ini: Option "AllowAnyHeader", Default: "0", also "Nein")
In Signatur-Trenner wandeln:
Um auch mit Outlook Express Signaturen verwenden zu können, reicht in Zukunft
das Einsetzen eines beliebigen Platzhalters (Am einfachsten "--"), um ihn per
Korrnews automatisch durch einen korrekten Signatur-Trenner ("-- ") ersetzen
zu lassen.
(Korrnews.ini: Option "ConvertToSigDelimiter", Default: leer)
Random Sig-Datei:
Diese Option erlaubt die Auswahl einer Datei mit Signaturen, welche - sofern
noch keine Signatur gesetzt ist - als Quelle für die angehängte Signatur
verwendet wird. Jeder Sig hat dabei mit "--" eingeleitet zu werden, bei mehr
als einer Sig wird die Sig zufällig ausgewählt.
Um Newsgruppen-spezifische Sigs u.ä. zu verwenden, müssen sie auf die
Header.def zurückgreifen.
(Korrnews.ini: Option "SigFile", Default: leer)
Leerzeile vor automatischer Sig:
Sofern die Sig von Korrnews erzeugt wird (egal ob über die vorige Option
oder Header.def-Befehle), wird hiermit bestimmt, ob eine Leerzeile zwischen
Textende und Sig eingefügt werden soll.
(Korrnews.ini: Option "BlankBeforeSig", Default: "0", also "Nein")
Reaktion auf undeklarierte 8-Bit-Zeichen:
Undeklarierte Sonderzeichen sind den RfCs folgend "böse". Außer der nicht
empfehlenswerten Option "Keine Reaktion" (0) hat Korrnews folgendes im Angebot:
Reaktion auf Quoted Printable (QP):
QP ist dank kaputter Newsreader bei diversen Netizens umstritten. Diese Option erlaubt
eine leichte Verbesserung der Lesbarkeit oder - bei Zwangs-QP auf Seiten der verwendeten
Software praktisch - die Umwandlung in ein anderes Format.
Base64-kodierte Text-Postings in 8-Bit wandeln:
Diese Option konvertiert Base64-kodierte Textpostings in ein lesbares Format, was für
eingehende Mails ganz praktisch sein dürfte, wenn der benutzte Client diese nicht selber
dekodieren kann.
(Korrnews.ini: Option "ConvertBase64To8Bit", Default: "0")
Diese Optionen sorgen für eine regelmäßige Einrückung im Body. Beachtet werden nur Zeilen, die mit einem Zitierzeichen anfangen.
Aus:
> >> > Huhu > >>Blubb > >Hi > Like i said
wird:
>>>> Huhu >>> Blubb >> Hi > Like i said
Es werden alle Zeilen behandelt, welche mit einem Zitatzeichen beginnen. Standardmäßig werden ">" und "|" unterstützt. Falls gewünscht, werden bei gemischtem Aufkommen in einer Zeile jeweils Leerzeichen zwischen die Blöcke gesetzt: Aus ">>|>" wird also ">> | > ". Das Leerzeichen zwischen Zitatzeichen und Text ist ebenfalls optional.
Die Korrekturen können temporär abgeschaltet werden, was im Falle von PGP-Blöcken u.ä. sinnvoll sein dürfte. Auch alles hinter einem Signaturtrenner kann automatisch ignoriert werden.
Unterstreichungen a la
>> Huhu, da ist ja eine heiße Frau!
^^^^^
werden nach Möglichkeit erhalten, Fehler im Algorithmus sind mir zur Zeit nicht bekannt.
Die Optionen im Einzelnen:
Einrückungen optimieren:
entscheidet, ob die Einrückungen überhaupt korrigiert werden sollen.
(Korrnews.ini: Option "CheckQuotes", Default: "1", also "Ja")
Leerzeichen zwischen Zitatzeichen und Text:
entscheidet, ob im Falle von Korrekturen ein Leerzeichen zwischen den Zitatzeichen und
dem Text stehen soll.
(Korrnews.ini: Option "CheckQuotes-AddSpaceBetweenQuoteAndText", Default: "1", also "Ja")
Leerzeichen zwischen verschiedenen Zitatzeichen:
entscheidet, ob im Falle von gemischten Zitatzeichen Leerzeichen als Trennung zwischen
den unterschiedlichen Zitatzeichen stehen sollen.
(Korrnews.ini: Option "CheckQuotes-AddSpaceBetweenDifferentQuoteChars", Default: "1",
also "Ja")
Erlaubte Zitatzeichen:
entscheidet, welche Zeichen als Zitatzeichen gelten sollen.
(Korrnews.ini: Option "CheckQuotes-AllowedQuoteChars", Default: ">|")
Keine Änderungen zwischen:
definiert die Zeilen, mit deren Hilfe die Korrektur für die zwischenliegenden
Zeilen abgeschaltet werden soll. Ein "*" am Ende bedeutet, daß der hintere Teil
beim Vergleich nicht interessiert, ein "*" am Anfang, daß nur der hintere Teil
verglichen wird, ein "*" vorne und hinten, daß der Vergleichsstring irgendwo in
der Zeile vorkommen darf.
(Korrnews.ini: Option "CheckQuotes-DoNotChange-Begin", Default: "-----BEGIN PGP*",
und Option "CheckQuotes-DoNotChange-End", Default: "-----END PGP*")
Keine Änderungen nach Signaturtrenner:
erlaubt es, die Korrektur der Zitatebenen nur bis zum (ersten) Signaturtrenner
durchführen zu lassen.
(Korrnews.ini: Option "CheckQuotes-DoNotChangeAfterSigDelimiter", Default: "1",
also "Keine Kontrolle")
Erlaubt das Konvertieren von Fußnotenanweisungen in Fußnoten, für Details siehe
allgemeine Konfiguration.
(Korrnews.ini: Option "ConvertFootnotes", Default: "0", also "Nein")
manuellen "Reformat" ausführen:
Diese Funktion ist hauptsächlich für "zerbombte" oder überlange Fremdzitate interessant:
Durch Umklammern des gewünschten Absatzes mit "RF:" am Anfang und "#" am Ende wird
alles in einen langen Satz verpackt und auf die in den Fußnoten eingestellte Zeilenbreite
neu umgebrochen. Aus:
RF:Das ist ein Beispiel für einen total kaputten Zeilenumbruch - teilweise viel zu lange Zeilen und teilweise viel zu kurze.#wird dann sowas wie:
Das ist ein Beispiel für einen total kaputten Zeilenumbruch - teilweise viel zu lange Zeilen und teilweise viel zu kurze.Im Falle eines "reformatierten" Zitates ist noch zu beachten, daß das "RF:" am Zeilenanfang vor dem Zitatzeichen stehen muß und daß Korrnews automatisch alle Zeilen mit der Zitattiefe der ersten Zeile versieht. Beispiel:
RF:>> Das ist ein Beispiel für einen total kaputten Zeilenumbruch im Zitat - teilweise viel zu >>lange Zeilen und teilweise viel zu kurze.#wird zu:
>> Das ist ein Beispiel für einen total kaputten Zeilenumbruch im Zitat >> - teilweise viel zu lange Zeilen und teilweise viel zu kurze.
manuelle "Oneliner" ausführen:
Diese Option hilft z.B., wenn Programme wie XNews auch URLs zwangsumbrechen
wollen. Alle Absätze, die mit "OL:" beginnen und mit "#" enden, werden zu
einer Zeile vereint. Beispiel:
OL:http://abc.def.geh/oldtimer/NullAchtFuenfZehn/Treffen_10_10_2010/Gemuesest and/Gurkenglas/Inhalt.html#wird zu:
http://abc.def.geh/oldtimer/NullAchtFuenfZehn/Treffen_10_10_2010/Gemuesestand/Gurkenglas/Inhalt.html
Erlaubt das Konvertieren von Boxquote-Anweisungen in Boxquotes, für Details siehe
allgemeine Konfiguration.
(Korrnews.ini: Option "ConvertBoxQuotes", Default: "0", also "Nein")
Diese Funktion ist speziell für Outlook Express- oder Notes-Nutzer gedacht:
Diese sind seit x Versionen nicht in der Lage, zitierten Text vom Zeilenumbruch
auszuschliessen. Diese Macke läßt sich hiermit hoffentlich automatisiert beseitigen,
sofern die Originalzitate nicht überlang sind oder der eigene Zeilenumbruch so kurz
eingestellt ist, daß auch eigentlich sehr kurze Zeilen umgebrochen werden.
Die Reparaturfunktion zieht genau dann Zeilen zusammen, wenn die erste Zeile mit
einem ">" beginnt und die zweite Zeile nicht, wenn die Länge der zusammengesetzten
Zeile zwischen 60 und 90 Zeichen lang ist und die zweite Zeile unter 15 Zeichen lang
ist oder zumindest kein Leerzeichen enthält. Dies sollte sowohl die meisten Fälle
reparieren als auch Fehlerkennungen weitgehend vermeiden. Im eigenen Interesse sollte
man zwischen Zitaten und eigenem Text immer eine Leerzeile setzen.
(Korrnews.ini: Option "KillOEWordWraps", Default: "0", also "Nein")
Lösche am Zeilenanfang:
Beim Agent habe zumindest ich das Problem, ab und an mal überlange Zeilen zu brauchen
(Quelltexte, Forwards an Netdigest u.a.). Abhilfe ist hiermit möglich. Wenn ich hier
"#+#" eintrage und im Agent ein "#" in die Liste der Zitatzeichen setze, bricht
Agent mit "#+#" beginnende Blöcke nicht mehr um und Korrnews entfernt sie vor dem
Verschicken, so daß ohne weiteren Aufwand beliebig lange Zeilen möglich sind, die
völlig normal beim Empfänger ankommen. Die andere Alternative stellen die mit V3.1
hinzugekommenen "Oneliner" dar.
(Korrnews.ini: Option "DelAtBegin", Default: leer)
Leerzeilen am Posting/Mail-Ende löschen:
Diese Funktion ist auch speziell für Outlook Express-Nutzer gedacht: Reine Leerzeilen am
Ende des Postings bzw. der Mail werden automatisch gekürzt, dies beseitigt somit auch die
von OE je Bearbeitung hinzugefügten zwei Leerzeilen am Textende.
(Korrnews.ini: Option "DeleteEmptyLines", Default: "1", also "Ja")
Leerzeile vor "Lines"-Einschub:
"Set/Append Lines" ist ein Spezialbefehl für die Header.def, um z.B. einen
Endgruß zu automatisieren. Hiermit wird bestimmt, ob vor diesen Zeilen eine
Leerzeile gewünscht ist.
(Korrnews.ini: Option "BlankBeforeLines", Default: "1", also "Ja")
Diese Datei erlaubt sehr flexible Korrekturen, Details siehe Header.txt. Allerdings sollte man dort wirklich wissen, was man eigentlich tut.
Hier ein kleiner Überblick über die mir bislang bekannten Newsreader und ihre Besonderheiten im Zusammenhang mit Korrnews.
Die Option "Re: Hallo (was: Huhu)" => "Re: Hallo" führt - sofern "Threading by Subject" genutzt wird - dazu, daß nicht nur für das umbenannte Subject ein neuer Thread begonnen wird, sondern zusätzlich auch für das um "(was:...)" erleichterte. Ich halte die Option trotzdem für sinnvoll.
Falls der eigene Name Sonderzeichen wie "." aufweist, sollte man die Option bzgl. From/Reply-To aktivieren.
Die Option "Re: Hallo (was: Huhu)" => "Re: Hallo" führt - sofern "Threading by Subject" genutzt wird - dazu, daß nicht nur für das umbenannte Subject ein neuer Thread begonnen wird, sondern zusätzlich auch für das um "(was:...)" erleichterte. Ich halte die Option trotzdem für sinnvoll. Weitere Besonderheiten sind nicht zu beachten.
Die Option "Reaktion auf undeklarierte 8-Bit-Zeichen" sollte wahlweise auf "Deklaration als ISO-8859-1" oder "Umwandeln in 7-Bit-Zeichen" stehen, da Free Agent keine Umlaute korrekt deklarieren kann.
Falls der eigene Name Sonderzeichen wie "." aufweist, sollte man die Option bzgl. From/Reply-To aktivieren.
Die OE-Kamm-Quoting-Korrektur sollte genutzt werden, um Zitate ohne Daueraufwand korrekt hinzukriegen.
Die Option "In Signatur-Trenner wandeln" sollte genutzt werden, falls man auf Sigs Wert legt und sie sogar in OE selber anlegen will.
Die Option "Leerzeilen am Posting/Mail-Ende löschen" ist ebenfalls sehr empfehlenswert.
AFAIK verwendet MS News statt "Re" das Kürzel "AW". Dies läßt sich mit der Option "Subjectanfang nach "Re:" wandeln" korrigieren, dort einfach "AW" eintragen.
Einige unnötige Header-Einträge lassen sich per Header.def oder mit der Option "X-Headerzeilen löschen" zumindest für Usenet-Postings löschen:
X-Priority: X-MSMail-Priority: X-MimeOLE:
Die Option "Optimierte ISO-Kodierung der Header-Zeilen" ist bei Mozilla nicht unbedingt nötig, da er schon ziemlich perfekt kodiert, Schaden richtet sie natürlich nicht an, wenn sie trotzdem aktiviert ist. Teilweise ist die primitivere Kodierung von Korrnews sogar sinnvoller, da die Mozilla-Variante bei diversen Newsreadern nicht 100%ig korrekt interpretiert wird.
Mit der Header.def oder "X-Headerzeilen löschen" kann man den Header aufräumen und die in den meisten Fällen fehlerhaft erzeugte Message-ID gleich mit entfernen:
Message-ID: X-Accept-Language:
In der deutschen Variante verwendet Gravity statt "Re" das Kürzel "AW". Dies läßt sich mit der Option "Subjectanfang nach "Re:" wandeln" korrigieren, einfach "AW" dort eingeben.
Die Option "Reaktion auf undeklarierte 8-Bit-Zeichen" sollte wahlweise auf "Deklaration als ISO-8859-1" oder "Umwandeln in 7-Bit-Zeichen" stehen, da Gravity keine Umlaute korrekt deklarieren kann.
Die Option "Reaktion auf undeklarierte 8-Bit-Zeichen" sollte wahlweise auf "Deklaration als ISO-8859-1" oder "Umwandeln in 7-Bit-Zeichen" stehen, da XNews keine Umlaute korrekt deklarieren kann.
XNews setzt keinen "Date-Header", dies kann man ggf. von Korrnews erledigen lassen, um zumindest den genauen Verschickzeitpunkt im Date-Header zu verewigen.
Die Header.def sollte in Hinblick auf Mailinglisten noch folgendes enthalten:
; X-News-Bug bzgl. Mailantworten If Header(In-Reply-To) = "" and Header(To) > "" In-Reply-To: %Last(Header(References))% endif
Lotus Notes verwendet statt "Re" das 'Kürzel' "Antwort". Dies läßt sich mit der Option "Subjectanfang nach "Re:" wandeln" korrigieren, einfach "Antwort" dort eingeben. Die doppelten Res sollte man gleich mit vernichten lassen.
Die OE-Kamm-Quoting-Korrektur sollte genutzt werden, um Zitate ohne Daueraufwand korrekt hinzukriegen.
Weitere zu korrigierende Macken sind mir nicht bekannt, was im wesentlichen daran liegen dürfte, daß Notes als Newsreader ziemlich komplett unbrauchbar sein soll und somit im Usenet kaum verwendet wird.
Hilfe zu Korrnews, CopyFups, MixGroup und CopyIf finden sie in der de-Hierarchie hauptsächlich in
news:de.comm.software.newsreader
und in der Hamsterhierarchie in den Gruppen
news:hamster.de.newusers
news:hamster.de.tools
Falls Fehler oder besondere Probleme auftauchen, können Sie sich auch an mich wenden, wobei Antwortzeiten natürlich nicht garantiert werden können. Schreiben Sie dabei bitte nicht an meine gmx-Adresse, sondern je nach Programm an:
hamster-tools@tgl.westfalen.de
korrnews@tgl.westfalen.de
copyif@tgl.westfalen.de
copyfups@tgl.westfalen.de
mixgroups@tgl.westfalen.de
Viel Spass mit Korrnews!
Thomas G. Liesner