Arbeitstier für Mail und News
E-Mail und News-Gruppen mit (X)Emacs und Gnus
Wie die News, so die Mails
Dasselbe funktioniert natürlich auch bei Mails – egal, ob Sie mit m beim Schreiben einer neuen Mail sind oder auf ein Schreiben aus einer Ihrer Mail- oder News-Gruppen mit R antworten. Wollen Sie allen Empfängern einer Mail antworten, erledigen Sie dies mit S W. Zum Weiterleiten elektronischer Post gibt es die Befehle S o m und C-c C-f.
Natürlich kann Gnus auch Dateien anhängen (Abbildung 4). Dazu drücken Sie C-c C-a (mml-attach-file) und wählen die Datei aus. Dabei sollte Ihr Cursor unterhalb der Zeile
--text follows this line--
stehen. Stimmt der von Gnus vorgeschlagene Dateityp nicht, hilft die von [Tab] hervorgezauberte Auswahlliste dabei, den passenden Dateityp (etwa text/html für einen HTML-Anhang) selbst zu bestimmen. Schließlich bittet Gnus noch um eine kurze Beschreibung, damit der Empfänger weiß, was die Datei enthält.
Etwas mehr Faulheit dürfen Sie beim Empfang von Mail-Anhängen an den Tag legen: Die zeigt Ihnen Gnus am Ende der Mail an (Abbildung 5). Mit K o speichern Sie eines nach dem anderen in ein selbst auszuwählendes Verzeichnis.
Lesen, was mir gefällt
Zeit ist ein knappes Gut, und so haben Sie sicherlich wenig Lust, News-Gruppen und Mailinglisten, in denen täglich mehrere hundert Artikel auflaufen, komplett durchzuarbeiten. Viele Mail- oder Newsreader nutzen sogenannte Killfiles, die die Nachrichtenflut so filtern, dass es z. B. Meldungen von für Sie uninteressanten Autoren gar nicht erst vor Ihre Augen schaffen. Gnus bietet jedoch einen viel sinnvolleren Mechanismus, der jedem Posting nach bestimmten Kriterien (z. B. Autor, bestimmtes Wort im Betreff) negative oder positive Punktzahlen zuordnet. Anhand der Summe bestimmt Gnus dann, was mit dem Artikel geschieht: Soll er gelöscht werden? Wollen Sie ihn als gelesen markieren, so dass er beim nächsten Betreten der Gruppe nicht mehr erscheint? Oder ist er besonders interessant und bekommt somit eine farbliche Markierung und einen höheren Platz im *Summary*-Buffer?
Jeder Artikel, ob Mail oder News, erhält zu diesem Zweck am Anfang einen bestimmten Wert, den die Variable gnus-summary-default-score festlegt (üblicherweise '0'). Lesen Sie z. B. die Postings von "Peter Müller" in einer bestimmten Gruppe besonders gerne, setzen Sie diesen Wert, Peters Score, hoch, so dass seine Postings von nun an farblich hervorgehoben und höher im *Summary*-Buffer angezeigt werden. Leider hat Peter aber die Angewohnheit, sich an Diskussionen über alte Diskettenlaufwerke zu beteiligen, ein Thema, das Sie überhaupt nicht interessiert. Glücklicherweise erkennen Sie entsprechende Beiträge anhand eines bestimmten Worts im Betreff. Artikeln mit diesem Wort weisen Sie nun einen negativen Wert zu, dessen Betrag größer als der positive Wert für Peter ist. So markiert Gnus auch Peters Artikel dazu als gelesen.
In der Praxis sieht das folgendermaßen aus: Gehen Sie auf einen Artikel, und drücken Sie I, falls Sie einen Score anhand dieses Artikel erhöhen ("increase"), L, wenn Sie ihn verringern wollen ("lower"). Gnus fragt Sie daraufhin im Minibuffer, auf welchen Header-Eintrag Sie sich beziehen:
Increase header (asbhirxeldft?):
Ihre Antwort hat nun folgende Bedeutung:
- Mit a legen Sie Ihrer Bewertung den Autorennamen zugrunde.
- s verändert den Score anhand der Betreffzeile dieses Artikels.
- Mit x bewerten Sie den Xref-Header. Er enthält alle Gruppen, in die der Artikel gepostet wurde.
- Wählen Sie r, so wertet Gnus den References-Header aus. Er enthält die Message-IDs der Artikel, auf die sich der Artikel bezieht.
- l steht für die Zeilenanzahl und
- i für die Message-ID, also das eindeutige Kennzeichen des Artikels.
- Mit f machen Sie die Bewertung wie bei a vom Namen des Autors abhängig. Zusätzlich sagen Sie, dass die Regel, die für diesen gilt, auch auf Postings zur Anwendung kommen soll, die auf seine Artikel antworten (im Jargon: "Followups").
Danach möchte Gnus wissen, wie er zukünftige Artikel mit dem Inhalt des gewählten Headers vergleichen soll:
Increase header 'subject' with match type (sefr?):
Sie fordern mit * e einen genauen Vergleich,
- s, dass nur ein Teilwort aus dem soeben festgelegten Vergleichsstring vorkommen muss,
- f, dass Gnus für den Vergleich alles Unnötige wie Leerzeichen, Interpunktionszeichen u. ä. entfernt,
- r den Vergleich mit einem regulären Ausdruck, den es auf der Basis des aktuellen Strings noch festzulegen gilt. Enthält der zum Vergleich herangezogene Header (zum Beispiel die Message-ID) Zahlen, kommen numerische Vergleichsmöglichkeiten hinzu: Ist der zu vergleichende Wert kleiner (<), gleich (=) oder größer (>) als der im Header des aktuellen Artikels?
Danach bestimmen Sie, ob das Scoring anhand der neu erstellten Regel nur temporär (t), permanent (p) oder sofort (i, "immediately") zum Einsatz kommen soll. Wählen Sie ersteres, so vergisst Gnus die Regel nach einer bestimmten Zeit, die Sie in der Variablen gnus-score-expiry-days festlegen. Standardmäßig sind es sieben Tage. Diese Option bietet sich für Betreffzeilen an, da die dazugehörigen Diskussionen meist nur kurze Zeit geführt werden. Permanente Scoring-Regeln vergisst Gnus dagegen nie. Nach dem Motto "aus den Augen, aus dem Sinn" wendet Gnus eine mit i markierte Regel direkt an, ohne sie in einer Datei zu speichern.
Um Peter Müller einen positiven Score zuzuweisen, antworten Sie nach einem I über einem seiner guten Artikel auf Gnus entsprechende Fragen mit a e p. Nachdem Sie p gedrückt haben, zeigt Ihnen das Programm im Minibuffer nochmal an, womit es vergleichen soll: In unserem Fall mit dem Inhalt der From:-Zeile.
Damit Sie Peter nicht bei seinen Anekdoten über Diskettenlaufwerke lauschen müssen, geben Sie auf einem Artikel eines entsprechenden Threads L s s p Diskettenlaufwerk RET ein. Dies bedeutet, dass Sie allen Artikeln, die im Betreff das Wort "Diskettenlaufwerk" enthalten, auf immer und ewig einen negativen Score verpassen.
Mit V S überprüfen Sie, welchen Score der aktuelle Artikel hat. V t hingegen verrät die Regeln, die auf ihn angewandt wurden. V R veranlasst Gnus, die Scoring-Regeln erneut über den aktuellen *Summary*-Buffer zu schicken.



