Willemers Informatik-Ecke
Einsatz im Intranet
Auch im Intranet kann ein Newsserver hilfreich sein. Man kann beispielsweise
für Projekte oder Kunden eine Gruppe anlegen, die von allen Mitarbeitern als
zentraler Informationspool verwendet werden kann.
Jede Absprache mit dem Kunden, jeder Vorgang kann schnell für alle sichtbar
protokolliert werden. Da Newsgroups hierarchisch gegliedert werden können,
können auch einzelne Projekte unter den Kunden angelegt werden.
Um an die News zu kommen, benötigt man einen Newsreader, der auf allen
Plattformen leicht kostenlos zu bekommen ist. Viele E-Mailprogramme beherrschen
auch den Umgang mit News.
News lesen
Es gibt zwei grundsätzlich unterschiedliche Herangehensweisen, die News von
einem Newsserver zu lesen. In beiden Fällen benötigt man zunächst einen
so genannten Newsreader. Im ersten Fall installiert man ihn in hergebrachter
Weise, wie man das unter MS-Windows oder Mac auch täte. Wenn man die News lesen
will, startet man auf dem Client den Austausch der News mit dem Server.
Als zweite Möglichkeit bietet es sich unter UNIX an, einen Newsserver
aufzusetzen, der die gewünschten Newsgroups vom Newsserver saugt und lokal
für den eigenen Rechner oder das Intranet anbietet. Das lohnt sich schnell,
wenn zwei Personen News lesen und vielleicht die eine oder andere Gruppe
sonst doppelt laden würden.
Offline oder Online
Es gibt bei den Newsreadern zwei Kategorien. Die erste geht davon aus, dass
der Benutzer ständig zum Newsserver verbunden ist. Wählt man eine Gruppe,
beginnt in diesem Augenblick der Client, die Titelzeilen der Nachrichten
zu lesen. Wählt man dann einen Header, wird erst dann der Inhalt der Nachricht
geholt. Diese Kategorie nennt man Onlinereader. Der Offlinereader lädt die
gewünschten Gruppen am Stück, wenn er mit dem Server verbunden ist und
speichert sie lokal. Es gibt auch Varianten, die nur die Titel lesen, die man
dann zum Download der eigentlichen Nachrichten markiert.
Konfiguration des Newsreaders
Einen Newsreader einzurichten, ist nicht besonders schwierig. Er braucht die
Adresse des Newsservers und die Adresse des SMTP-Servers, da man eigene
News als E-Mail an die Gruppe schreibt und dazu den E-Mail-Briefkasten
verwendet.
Installation des Newsservers inn
Es gibt derzeit zwei wichtige Newsserver: cnews und inn. cnews ist etwas älter
und inn gilt als moderner und leichter bedienbar. Darum soll inn beschrieben
werden.
Nach dem Entpacken des Paketes inn gibt es die folgenden relevanten
Verzeichnisse:
| Verzeichnis | Inhalt |
| /etc/news | Konfiguration |
| /var/lib/news | Abgleichsdaten mit dem fremden Newsserver |
| /var/spool/news | die Ablage der Newsgroup Inhalte |
| /var/log/news | Logdateien. |
Der User news
Für die Arbeiten im Newsbereich sollte man einen User namens news anlegen.
Dieser User sollte in der eventuell ebenfalls anzulegenden Gruppe news
Standardmitglied werden.
Letzlich werden die Wartungsarbeiten zwar meist vom Administrator durchgeführt,
aber die im Hintergrund laufenden Prozesse für den Newsserver müssen nicht
priviligiert ablaufen und dann sollte man dies auch nicht tun.
Einloggen als news
Die meisten Arbeiten sind als User news durchzuführen. Da man diesem User
ungern ein eigenes Kennwort gibt, loggt man sich zunächst als root ein (mit
entsprechendem Passwort) und wechselt dann per su
nach news und braucht dafür
dann kein Passwort mehr, da man ja root war. Entsprechend kann man in der
/etc/passwd bzw. /etc/shadow einfach ein x anstelle des
verschlüsselten Passwortes eintragen, um einen direkten Zugang von außen zu
verhindern.
Konfigurationsdateien
inn.conf
Zunächst werden in der inn.conf die Basisinformationen abgelegt.
Diese Datei ist allerdings bereits weitgehend korrekt vorbesetzt. Hier
nur drei Parameter, die vielleicht geändert werden könnten.
# /etc/news/inn.conf
organization: Sgt. Pepper's Lonely Hearts Club Band
server: news.willemer.edu
hiscachesize: 256
|
Konfiguration inn.conf
Bei organization schreibt man normalerweise den Firmennamen hinein.
Unter pathserver steht der Rechnername des Newsservers inklusive seiner
Domäne. Es ist durchaus sinnvoll, den etwas ausgetretenen Rechnernamen
news zu verwenden und dann als Nickname in die /etc/hosts oder
im DNS einzutragen. Dadurch kann man dann, falls es erforderlich ist, den
Dienst von einer anderen Maschine übernehmen lassen und man muss nur die
Zuordnung des Nicknames ändern.
Der Parameter hiscachesize bestimmt die Größe des Speichers in KB für das
Caching. Bei Newsservern, die sehr gefragt sind, kann die Erhöhung zu einer
schnelleren Verarbeitung führen.
incoming.conf
Diese Datei legt fest, welche fremden Rechner in diesen Newsserver
Artikel zu stellen. Für die Aufgabenstellung ist es nicht gewünscht, dass
fremde Rechner Artikel einstellen. Allerdings soll es dem lokalen Rechner
selbst erlaubt sein. Entsprechend steht hier nur ein Eintrag:
# /etc/news/incoming.conf
peer localhost {
hostname: localhost
}
|
expire.ctl
Artikel in Newsgroups haben normalerweise ein flüchtiges Dasein.
Je nachdem, welchen Umfang die durchlaufenden Nachrichten haben, wird die
Festplatte leicht von Nachrichten geflutet, wenn sie nicht nach gewissen
Kriterien wieder aufgeräumt werden. Dies steuert die Datei expire.ctl
im Verzeichnis /etc/news. Jede Zeile definiert, in welche Gruppen
Nachrichten wie lange bleiben können, bevor sie gelöscht werden.
Der erste Eintrag erscheint einmalig und betrifft die Dauer der History
Einträge und beginnt mit /remember/:. Es folgt die Anzahl der Tage, die
der Eintrag bleibt.
Alle anderen Einträge beginnen mit einem Wildcardmuster für die betroffenen
Newsgroups. Dann folgt eine Unterscheidung nach moderierten und unmoderierten
Gruppen und schließlich drei Zeitangaben. Sie haben damit zu tun, wann eine
Nachricht ausläuft. Manche Nachrichten haben einen Eintrag im Header, wann
sie auslaufen.
Die erste Zeitangabe sagt, wie lange eine Nachricht mindestens gehalten werden
sollte. Die dritte Zeitangabe sagt aus, wann spätestens gelöscht werden soll.
Der zweite Eintrag besagt, wann gelöscht wird, wenn die Nachricht keine
eigenen Angaben darüber macht, wann sie gelöscht wird. Die vorgegebene
expire.ctl hat den folgenden Inhalt:
/remember/:14
*:A:1:10:never
|
Sie sagt aus, dass Einträge in der History 14 Tage bleiben. Alle Nachrichten
in allen Gruppen bleiben mindestens einen Tag, werden normalerweise nach 10
Tagen gelöscht. Der Auslaufvermerk im Header kann aber eine beliebige Dauer
vorgeben. Soll der Newsserver als firmeninterner Projektverfolger eingesetzt
werden, sollte der zweite Zeitwert von 10 auf never gesetzt werden, um ein
Löschen der Nachrichten zu vermeiden.
Die Angaben in zweiten Feld können folgende Zeichen haben:
| Zeichen | Bedeutung |
| M | moderierte Gruppen |
| U | unmoderierte Gruppen |
| A | Alle Gruppen |
Über die Datei expire.ctl gibt es eine ausführliche Manpage.
Lokaler Newsserver
Zunächst soll beschrieben werden, wie der Server als Intranetserver dient,
um beispielsweise die Diskussion über Projekte aufzunehmen. Dabei ist keine
Anbindung an andere Newsserver vorgesehen. Dies ist auch gar nicht gewünscht,
da die Diskussionen ja firmenintern sind und nicht nach außen gehen sollen.
Den Dämon starten
Zunächst wird der inn-Dämon von Hand gestartet. Da der Dämon auf den well
known Port 119
zugreifen wird, darf er nur vom Superuser gestartet werden.
An dieser Stelle wird der Startskript verwendet, der auch benutzt wird, wenn
die Maschine bootet.
gaston# /etc/init.d/inn start
|
Den Dämon prüfen
Sie können im ersten Schritt prüfen, ob der innd in der Prozessliste
auftaucht.
Ist dieser gestartet, kann man nachsehen, ob der innd Anfragen an Port
119 beantwortet. Das einfachste Testtool ist telnet, dem man als Parameter
den Port 119 mitgibt.
gaston> telnet localhost 119
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
200 gaston.willemer.edu InterNetNews server INN 2.2.3 18-Jul-2000 ready
quit
205 .
Connection closed by foreign host.
gaston>
|
Der Befehl quit sorgte dafür, dass die Verbindung zwischen telnet und innd
wieder aufgelöst wurde.
Gibt es eine andere Meldung, insbesondere eine Meldung >>Connection refused<<
ist noch etwas nicht ganz in Ordnung.
Erster Versuch mit einem Newsclient
Mit einem Newsclient erreichen Sie den Server, indem Sie den Rechnernamen oder
einfach >>localhost<< als Newsserver angeben. Anschließend versuchen Sie,
Gruppen zu abonnieren. Dabei wird der Client normalerweise die Gruppenliste
holen. Die besteht zu Anfang aus folgenden Gruppen:
control
control.cancel
junk
|
Diese Gruppen sind zum Betrieb des Newsservers inn erforderlich.
Administration
Die Administration des Newsgroupservers erfolgt durch das Senden von
Kontrollnachrichten. Zu diesem Zweck gibt es das Programm ctlinnd.
Einrichten einer Gruppe
Der erste Parameter von ctlinnd ist ein Kommando an den Newsserver.
Zum Einrichten einer Newsgroup lautet er newgroup. Es folgt der
Name der Gruppe. Gruppen sind hierarchisch angeordnet und durch Punkte
getrennt. Danach folgt die Berechtigung für das Schreiben in die Gruppe und
schließlich der Erzeuger der Gruppe.
gaston> ctlinnd newgroup buch y news
gaston> ctlinnd newgroup buch.netzwerk y news
gaston> ctlinnd newgroup buch.netzwerk.news y news
|
Um Gruppen wieder zu löschen, verwendet man das Kommando rmgroup.
Um die Schreibberechtigungen zu korrigieren, kann man changegroup
verwenden oder noch einmal das Kommando newgroup mit den richtigen
Parametern wiederholen. inn merkt, dass die Gruppe schon existiert und führt
das Kommandos als Änderung aus.
Für die Schreibberechtigung der Gruppe steht ein y für die Erlaubnis zu
schreiben. n verbietet das Schreiben auf dem lokalen Rechner und x unterbindet
jegliches Schreiben in dieser Gruppe, auch von außen. Eine genauere
Beschreibung findet sich in der Manpage der Datei active.
Regelmäßige Arbeiten
news.daily
In der crontab des Users news sollte ein Eintrag für news.daily stehen.
Ansonsten sendet das news-System dem Postmaster eine Warnmeldung per Mail.
# taegliche Wartungsarbeiten in der crontab
07 01 * * * /usr/lib/news/bin/news.daily
|
Diese Zeile sagt aus, dass news.daily immer nachts um 1:07 startet.
Es wird in diesem Zuge eine E-Mail an den Newsmaster mit einer Statistik
gesendet.
Verbindung nach außen
In dieser Konfiguration soll ein Newsserver nicht als internes Diskussionsforum
dienen, sondern an einen Newsserver im Internet angebunden werden, so dass
Gruppen von dort in den lokalen Server übernommen werden und Beiträge der
lokalen Benutzer auch ins Internet gehen.
active und newsgroups
Zunächst werden im Verzeichnis /var/lib/news die Dateien
active und newsgroups um die Gruppe de.test ergänzt.
Die Datei active enthält den Namen jeder Gruppe, die vom Newsserver
bearbeitet wird. Hinter dem Gruppennamen befindet sich höchste Artikelnummer,
die in dieser Gruppe bisher
gelesen wurde. Die folgende Nummer ist die niedrigste Artikelnummer. Da Artikel
auch zurückgezogen worden sein können, ist die Differenz nicht zwingend die
Anzahl der vorhandenen Artikel. Zuletzt steht eine Option, die besagt, ob in
diese Gruppe Nachrichten eingestellt werden dürfen. Für die Gruppe de.test
wird folgende Zeile eingetragen:
de.test 0000000001 0000000001 y
|
In der Datei newsgroups wird die Gruppe mit einem erläuterndem Text
aufgeführt.
de.test
Die Gruppe de.test ist zum Testen bestimmt. Hier stellen alle diejenigen kurze
Tests ab, die prüfen wollen, ob ihre Newssoftware richtig funktioniert. Zum
Test, ob die News richtig gelesen werden, eignet sich die Gruppe deswegen sehr,
weil dort ständig ein gewisser Verkehr herrscht und die Nachrichten nicht
groß sind. Dazu kommt, dass man zum anschließenden Test, ob das Schreiben
funktioniert, gerade in der richtigen Gruppe ist.
Nachdem die Gruppen festgelegt sind, wird nun der Newsserver festgelegt, von
dem die Nachrichten geholt werden und an den die lokal abgestellten Nachrichten
weitergeleitet werden.
newsfeeds
In der Datei /etc/news/newsfeeds wird konfiguriert, von welchem
Newsserver der lokale Newsserver gefüttert werden darf.
Die meisten Einträge lässt man am besten unberührt. Interessant ist eine
Zeile, die man hinzufügen muss, die die Anbindung an einen anderen Newsserver
beschreibt. Für den Newsserver von T-Online steht dort beispielsweise:
# /etc/news/newsfeeds
newsserv/news.t-online.de:*:Ap,Tf,Wnm:newsserv
|
Der Begriff newsserv ist frei gewählt und ist eine Kennung für diesen Eintrag.
Hinter dem Schrägstrich erscheinen kommasepariert die Newsserver, von denen
Beiträge eingelesen wurden. So wird verhindert, dass die Beiträge des einen
Newsservers wieder an den anderen hinausgehen.
Hinter dem ersten Doppelpunkt erscheint die Liste der Newsgroups. Der Stern
sagt aus, dass alle denkbaren Gruppen des Servers erlaubt sind.
Hinter dem Doppelpunkt erscheinen Flags, die durch Kommata getrennt sind.
Wer Newsgroups von einem Newsserver zieht, kann die hier stehenden Parameter
verwenden. Weitere Paramater finden sich in der Manpage von newsfeeds.
Die hier genannten Flags bedeuten:
- Ap
- Vor dem Senden soll der Name des Newsservers nicht geprüft werden.
- Tf
- Das Senden erfolgt in Form einer Datei.
- Wnm
- Innerhalb der Datei werden die Artikel anhand ihrer Artikelnummer
und ihres Namens unterhalb des Spoolverzeichnisses gekennzeichnet.
Als letztes Feld wird die Kennung vom Anfang wiederholt.
Neueinlesen der Konfigurationsdatei
Falls der Newsserver bereits lief, muss die Konfiguration aktualisiert
werden. Dazu kann wieder das Administrationstool ctlinnd verwendet
werden. Mit dem Kommando reload newsfeeds wird die Konfigurationsdatei
erneut eingelesen.
ctlinnd reload newsfeeds do
|
Newsgroups saugen
Die Datei sucknewsrc
Im nächsten Schritt wird versucht, ob man Daten von einem Newsserver
herunterladen kann. Zu diesem Zweck dient das Programm suck,
das Nachrichten von einem Server lädt und in das lokale Newssystem
einspeist. Die Konfigurationsdatei heißt sucknewsrc und muss
im aktuellen Verzeichnis stehen. Für
den ersten Versuch wird eine solche Datei mit nur einer Newsgroup
verwendet, der de.test.
Hinter dem Gruppennamen steht die Artikelnummer, ab der man aufsetzen möchte.
Da nicht bekannt ist, welche Artikelnummer derzeit aktuell ist, verwendet
man zunächst die 1. Danach wird beschränkt, wieviele Artikel heruntergezogen
werden sollen. 100 Artikel sind mehr als genug und sind in wenigen Sekunden
geladen. Dieser dritte Parameter, der die Mengenbegrenzung darstellt, kann
auch weggelassen werden. Dann werden alle existierenden Nachrichten geladen.
Aufruf
Der Aufruf für das Programm suck, um die lokalen Newsgroups eines
Rechners mit den News des Newsservers news.t-online.de zu füllen, lautet:
suck news.t-online.de -bp -hl localhost
|
Der Parameter -hl localhost bedeutet, dass die Newsgroups in den
eigenen Server gespeist werden. Der Parameter -bp bedeutet batchpost
und bewirkt, dass zunächst
alle Nachrichten am Stück in eine lokale Datei gespeist werden und von dort
im Block in den lokalen Newsserver geschoben werden.
sucknewsrc
Durch den Lauf von suck wird sucknewsrc in
suck.newrc umbenannt und die
Nummern der als nächstes zu holenden Nachrichten werden darin aktualisiert.
Vor dem nächsten Start muss also suck.newrc nach sucknewsrc
umkopiert werden, damit die gleichen Nachrichten nicht wieder geholt werden.
Damit suck dies selbst tut, verwendet man die Option -c.
Datei active
Man kann auch die Datei
active vom Newsserver als Basis für die zu ladenden Newsgroups
verwenden. Dies erreicht man mit dem Parameter -A. Allerdings sollte man
damit erst eine Weile experimentieren. In bestimmten Fällen scheint dabei
die Datei active durcheinander zu geraten.
Newsgruppenliste vom Internet-Newsserver
Abholen der Gruppeninformationen
Die Dateien active und newsgroups im Verzeichnis
/var/lib/news kann man sich vom Newsserver herunterladen.
Bevor man dies tut, ist es sinnvoll, die bisherigen Dateien active und
newsgroups zu sichern.
cd /var/lib/news
getlist -h news.t-online.de active > active
getlist -h news.t-online.de newsgroups > newsgroups
|
Jeder getlist zieht jeweils etwa 1 MB über die Leitung. Je nach
Geschwindigkeit der Internetanbindung braucht man also etwas Geduld.
Zugriffsrechte auf den News-Server
Die Zugriffsbeschränkungen auf den News-Server werden in der Datei
/etc/news/nnrp.access definiert. In jeder Zeile wird beschrieben,
welche Rechner welche Rechte auf dem Server haben.
In der ersten Spalte wird die Rechnergruppe, für die diese Zeile gilt.
Die Rechneridentität wird durch eine Maske beschrieben. Bei unscharfer
Beschreibung gilt die genaueste Beschreibung, die auf den Host zutrifft.
Rechner können auf folgende Weisen beschrieben werden.
| Ziel | Bezeichnungsweise |
| Hostname | wird durch IP-Reverse Auflösung bestimmt |
| IP-Nummer | im dotted decimal Format |
| Domain | beispielsweise *.willemer.edu |
| Netzwerkname | nach /etc/networks |
| default | gilt für alle Rechner |
Die zweite Spalte beschreibt die Berechtigungen bzgl. des Austausches von
Nachrichten.
| Recht | Berechtigt zu ... |
| read | Artikel holen |
| xfer | Artikel in den Server hineinschieben |
| both | sowohl read als auch xfer |
| no | verzieh Dich! |
Die dritte Spalte ist für das Posten von Artikeln. Dies betrifft einen Client
der lokalen Maschine. Eine gepostete Nachricht erhält eine eindeutige
Nummer mit dem Rechnernamen.
| Parameter | Berechtigung |
| post | Artikel "posten" |
| no | keine Artikelerstellung |
NNTP Protokollbeschreibung
RFC 977
Das NNTP (Network News Transfer Protocol) ist durch die
RFC (Request for Comments) 977 definiert.
Die folgende Beschreibung bietet einen Blick hinter die Kulissen eines
Internetprotokolls, das durchaus typisch ist. In gewisser Hinsicht arbeitet
auch das Mailprotokoll und das HTTP nicht unähnlich.
Diese Informationen sind in erster Linie für Programmierer von Programmen
interessant, die sich im Protokollumfeld bewegen. Aber es ist auch für den
Administrator hilfreich zu wissen, wie solche Kommunikationen ablaufen,
um beispielsweise mit telnet das Fehlverhalten von Protokollen
herausfinden zu können.
Das Protokoll wird durch den Austausch von Texten zwischen
Server und Client bestimmt. Die rein textuelle Übermittlung
erspart die typischen Netzprobleme mit Binärdaten wie
die interne Zahlendarstellung. Der Server ist nicht statuslos, sondern
es wird ein Messagepointer geführt. Aus diesem Grunde ist eine
Anmeldung erforderlich und es sollte auch eine Abmeldung erfolgen.
Der Client muss die Kommunikation
aufnehmen und sollte in der Lage sein, alle denkbaren Antworten
des Servers zumindest soweit zu bearbeiten, dass kein
Blockieren im Protokoll entsteht.
Clientanfragen
Vom Client werden die Anfragen an den Server angestoßen. Die wichtigsten
Kommandos des Clients sind hier aufgeführt. Sie würden bereits ausreichen,
einen einfachen Newsreader zu schreiben.
- LIST
-
Der Client fordert eine Liste der Gruppen an. Das Format entspricht
dem der Datei active.
- NEWGROUPS Datum Uhrzeit
-
Es werden die Gruppen angefordert, die seit dem angegebenen Zeitpunkt
hinzugekommen sind. Das Datum ist im Format YYMMDD. Da das Jahr zweistellig
ist, gilt das Jahrhundert, das näher an der Jahreszahl ist.
Die Uhrzeit hat das Format HHMMSS.
- NEWNEWS Gruppenname Datum Uhrzeit
-
Es wird eine Liste von Artikelkennungen gesendet. Jede Kennung belegt eine
Zeile, die mit Carriage Return und Line Feed abgeschlossen wird. Das Ende
der Liste wird durch einen einzelnen Punkt in einer Zeile signalisiert.
- GROUP Gruppenname
-
Der Client signalisiert, dass er nun in dieser Gruppe arbeiten
möchte. Als Antwort erhält der Client die Fehlernummer (siehe unten).
Dann folgt die Anzahl der Artikel, die kleinste Artikelnummer und die
höchste Artikelnummer. Dann erscheint zur Bestätigung noch einmal der
Gruppenname.
Üblicherweise wird dann die niedrigste Nummer als Argument für das Kommando
ARTICLE oder STAT verwendet.
- ARTICLE Artikelkennung
-
Als Antwort wird der Artikelkopf (wie bei HEADER), eine leere Zeile und
dann der Artikeltext (wie bei BODY) angezeigt.
- HEAD
-
Zeigt von der aktuellen Nachricht den Kopf.
Die Übertragung endet mit einem einzelnen Punkt in einer Zeile.
- BODY
-
Zeigt den Inhalt der aktuellen Nachricht.
Die Übertragung endet mit einem einzelnen Punkt in einer Zeile.
- STAT Artikelkennung
-
Wie ARTICLE, allerdings wird der Artikel nicht übertragen. Es wird also
nur auf die angegebene Artikelkennung positioniert.
- NEXT
-
Fordert den nächsten Artikel an. Als Ergebnis gibt es die Fehlernummer
(siehe unten) gefolgt von der Artikelkennung. Um den Artikel zu betrachten,
muss HEAD oder BODY verwendet werden.
- QUIT
-
Beendet die Sitzung.
Die Artikelkennung ist in spitzen Klammern angegeben und gilt
systemweit oder ist numerisch und gilt für die Gruppe.
Serverantworten
Auf jede Anfrage wird der Server zunächst mit einem
dreistelligen Zahlencode reagieren. Erst hinter dieser Zahl steht die
eigentliche Antwort. Dabei bedeutet:
| Zahlencode | Bedeutung |
| 1xx | Informativ |
| 2xx | Kommando ok |
| 3xx | Kommando soweit ok, sende den Rest! |
| 4xx | Kommando war korrekt, konnte aber nicht ausgeführt werden. |
| 5xx | Kommando unbekannt oder Fehler |
Die nächste Stelle sagt etwas über die Kategorie:
| Zahlencode | Bedeutung |
| x0x | Verbindung, Setup und sonstige Nachrichten |
| x1x | Newsgroupauswahl |
| x2x | Artikelauswahl |
| x3x | Distributionsfunktionen |
| x4x | Senden von Artikeln |
| x8x | Erweiterungen, die nicht standardisiert sind. |
| x9x | Debug-Ausgaben |
Das Senden von Artikeln
Nach dem Senden von POST wird der Server zunächst mitteilen,
ob ihm das Senden behagt. Der Antwort-Code kann lauten:
| Zahlencode | Bedeutung |
| 240 | Der gesendete Artikel ist ok |
| 340 | Sende Artikel. Endekennung ist eine Zeile (CR-LF) mit nur einem Punkt. |
| 440 | Posten nicht erlaubt |
| 441 | Posten fehlgeschlagen |
Anschließend sendet der Client Zeile für Zeile seine Nachricht, die der
RFC 850 für das Format einer Nachricht entsprechen muss.
Speziell für die Usenet News Artikel gilt die RFC 1036.
Threadverfolgung
Threads sind Diskussionsbäume, die durch Erwiderung auf Artikel
entstehen.
Im Artikel wird durch Belegen des Feldes References: die Message-ID
abgelegt, auf die der Artikel sich bezieht. Es gibt also Rückwärts-
aber keine Vorwärtsbezüge.