;; -*- emacs-lisp -*- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; $Id: gnus_splitting.el,v 1.25 2006-11-06 21:02:42 rscholz Exp $ ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Sortieren von Mails ;; ;; Die offizielle Quelle dieser Datei ist ;; <http://www.zonix.de/projects/emacs/config> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Splitting von Mails (Info-goto-node "(Gnus)Splitting Mail") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Splitting der Mails. Mails werden in die entsprechende Gruppe ;; einsortiert, falls der angegebene reguläre Ausdruck passt... ;; Ich bin inzwischen auf IMAP umgestiegen, dass heißt, die hier ;; oben aufgezeichneten Splitting-Regeln werden nicht mehr benutzt. ;; IMAP-Splitting ist weiter unten aufgeführt. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Splitting für nnml-Backend ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; TIPP: die hier spezifizierten Gruppen werden von Gnus AUTOMATISCH ;; angelegt, müssen also nicht erzeugt werden. Falls nach dem Abrufen ;; von Mails mit `g' diese Gruppen scheinbar nicht sichtbar sein ;; sollten, einfach `F' im Summary-Buffer drücken. Damit sucht Gnus ;; nach eventuell neu angelegten Gruppen. ;; Fancy Splitting (Info-goto-node "(Gnus)Fancy Splitting Mail") (setq nnmail-split-methods 'nnmail-split-fancy) (setq nnmail-split-fancy ;; Falls die Mail im References-Header auf eine Mail verweist, ;; die bereits irgendwo einsortiert wurde, soll diese Mail auch ;; dort gespeichert werden. '(| "subject" "some subject" "mail.privacy") ;; Dieser Header wird in jeder meiner Messages eingefügt, damit ;; ich weiß, aus welcher Gruppe ich die geschrieben habe. ("X-Message-Source" "[a-z0-9]+ INBOX\\.\\(.*\\)" "\\1") ("X-Message-Source" "[a-z0-9]+ \\(.*\\)" "\\1") ;; hat obige Regel nicht gepasst, werden nun die anderen betrachtet... (to "anon@ymo.us" "mail.protect") (from "anon@ymo.us" "mail.my" (| "subject" "some subject" "mail.privacy") "mail.my")) (from "anon@ymo.us" "mail.my") (to "anon@ymo.us" "mail.protect") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my" (| "subject" "some subject" "mail.privacy") "mail.my")) (from "anon@ymo.us" "mail.my") (any "anon@ymo.us" "mail.privacy") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (any "anon@ymo.us" "mail.privacy") (any "anon@ymo.us" "mail.privacy") (to "anon@ymo.us" "mail.protect") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my" "admin.bills") (from "anon@ymo.us" "mail.my") (from "anon@ymo.us" "mail.my") (to "anon@ymo.us" "mail.protect") (to "anon@ymo.us" "mail.protect") (to "anon@ymo.us" "mail.protect") (to "anon@ymo.us" "mail.protect") (from "anon@ymo.us" "mail.my") (to "anon@ymo.us" "mail.protect") (to "anon@ymo.us" "mail.protect") (from "anon@ymo.us" "mail.my" (| "subject" "some subject" "mail.privacy") "mail.my")) ("subject" "\\<Re:.*" "mail.other") "mail.inbox" )) ;; nicht in Mailinglisten splitten, weil sonst private Antworten auf ;; meine Mails in Mailinglisten wieder dort landen könnten. (setq nnmail-split-fancy-with-parent-ignore-groups "list\\.") ;; Message-ID-Cache, für nnmail-split-fancy-with-parent erhöht (setq nnmail-message-id-cache-length 5000) ;; Message-ID-Cache (fast) immer updaten (setq nnmail-cache-accepted-message-ids t) ;; ...falls dabei mehrere Gruppen passen, wird nur die erste ausgewählt. (setq nnmail-crosspost nil) ;; beim Kopieren oder Verschieben von Mails sinnvolle Vorschläge machen ;; (Info-goto-node "(Gnus)Mail Group Commands") (setq gnus-move-split-methods '(("Xref:.*mail\\.inbox" "nnml:mail.other") ("mail.my"))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Splitting für nnimap-Backend (Info-goto-node "(Gnus)Splitting in IMAP") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Mein Setup für IMAP besteht aus Courier-IMAP und maildrop zum ;; Sortieren in Maildirs, wodurch Gnus entlastet wird. Dennoch will ;; ich einige Gnus-Funktionen nutzen, wie z.B. das Fancy Splitting ;; with Parent. D.h., falls eine Mail im References-Header auf eine ;; Mail verweist, die bereits irgendwo einsortiert wurde oder manuell ;; verschoben wurde, soll diese Mail auch dorthin gespeichert werden. ;; Für IMAP nutze ich die Gnus-Registry (ab No Gnus), die u.a für jede ;; Nachricht, die gesplittet wird, vermerkt, wohin sie geplittet ;; wurde. So kann ich das Fancy Splitting with Parent auf für IMAP nutzen. ;; Gnus-Registry laden ;; bis Oort v0.04 ;(setq gnus-registry-install t) ;(require 'gnus-registry) ;; ab Oort v0.04 (gnus-registry-initialize) ;; lange History behalten (setq gnus-registry-max-entries 20000) ;; Fancy Splitting für IMAP (setq nnimap-split-rule 'nnimap-split-fancy) ;; Die Regeln sind einfach: Splitting nach dem Parent-Artikel und wenn ;; das nicht geht, in der IMAP-Inbox ablegen (setq nnimap-split-fancy '(| (: gnus-registry-split-fancy-with-parent) "mail.my")) ;; Für Gruppen, die nicht in der Registry erfasst werden sollen ;; (z.B. NNTP-Gruppen), ist in den Gruppenparametern (`G c') oder den ;; Parametern des Topics ein ensprechender Eintrag einzufügen ;; (registry-ignore t). ;; Ebenfalls beachtet die Registry die Variable ;; `nnmail-split-fancy-with-parent-ignore-groups' (s.o.). (setq gnus-registry-unfollowed-groups '("delayed" "drafts" "queue" "sent\\.mail" "sent\\.news" "^nnrss:" "^nntp:" )) (setq gnus-registry-use-long-group-names t) ;; dieser IMAP-Folder soll gesplittet werden (if (string-match "home" zonix-location) (setq nnimap-split-inbox '("mail.my"))) (if (string-match "verified" zonix-location) (setq nnimap-split-inbox '("mail.my"))) ;; ...aber nur keine bereits als gelöscht markierten Artikel splitten (setq nnimap-split-predicate "UNSEEN UNDELETED") ;; ...falls dabei mehrere Gruppen passen, wird nur die erste ausgewählt. (setq nnimap-split-crosspost nil) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Allgemeine Einstellungen ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; MIME dekodieren, bevor gesplittet wird (ab Gnus 5.10) (setq nnmail-mail-splitting-decodes t) ;; längere Headerzeilen splitten (setq nnmail-split-header-length-limit 2048) ;; (kaputte) Refereces-Header löschen und vorhandenen References-Header nutzen ;(add-hook 'nnmail-prepare-incoming-header-hook 'nnmail-fix-eudora-headers) ;; Dupes erkennen und warnen (setq nnmail-treat-duplicates 'warn) ;; ;; DIESE DATEI ENTHÄLT AUS DATENSCHUTZGRÜNDEN KEINE PERSONENBEZOGENEN DATEN MEHR! ;;