exim, gnus and imapd

Nicht sehr ueberzeugend, die Formatierung, aber Information zaehlt!

Auf folgendes musst Du achten, bei mir bin ich auf debian-unstable vorgegangen. Allerdings nutze ich gnus oort (v.0.06, relativ aktuell aus CVS):

Du brauchst ein Verzeichnis /home/<user>/Maildir

exim

exim habe ich so konfiguriert, dass der user selbst auf imap umschalten kann, via .forward. Darin ist nur der Pfad zum Maildir angegeben, also /home/<user>/Maildir/ - das abschliessende / ist wichtig fuer exim!

Der exim-delivery-teil (falls Du es auch aufgesplittet haben solltest, wie ich), muss folgende Direktiven enthalten:

In Transport:

address_directory:
  driver = appendfile
  no_from_hack
  prefix = ""
  suffix = "" # soweit noch standard - hier kommt der erste Teil:
  maildir_format

Dann noch folgendes unter Router:

userforward:
  driver = appendfile ;;die uebrigen habe ich auf standard gelassen,
                      ;; hier ist der wichtige teil:
  directory_transport = address_directory

Damit wird exim angewiesen, wenn ein Pfad (abschliessendes / ) im .forward des users liegt, den directory_transport zu benutzen, der wiederum die mail in dem in .forward angegebenen Pfad in der INBOX ablegt.

courier-imapd

Einfach. Wenn obiges vorhanden ist, kann imapd direkt darauf zugreifen.

Eigentlich ganz einfach. Wenn man erstmal Verstanden hat, dass imapd eben gerade nicht in /var/spool/mail/<user> nach neuer Mail sucht, sondern nur in Maildir in der INBOX...

gnus

Gnus ist dann einfach, analog zu nnmail:

 '(gnus-secondary-select-methods
        '(
         (nnimap "home"
                (nnimap-server-port 143)
                (nnimap-address "localhost")
                (nnimap-list-pattern "*")
;;       (nnimap-stream ssl)
;;       mit ssl ist der port ueblicherweise 993
                (nnimap-expunge-on-close always))
        ;; other nnimap servers
         (nnml ""))
        )
;; nnml sollte dann eigentlich nicht mehr erforderlich sein...

(setq nnimap-need-unselect-to-notice-new-mail t)
;; bin mir nicht ganz sicher, ob dies erforderlich ist, werde ich
;; aber erst morgen testen...

(setq nnimap-split-inbox
        '("INBOX" ))
(setq nnimap-split-predicate "UNDELETED")

;;(setq  nnmail-split-fancy nil)
(setq nnimap-split-rule 'nnimap-split-fancy
        nnimap-split-fancy (quote
        (|
        (to "postmaster@foo.de" "INBOX.foo")
;; usw. Die splitregeln kannst Du 1:1 von nnmail uebernehmen, nur
;; die Zielgruppe mit dem Prefix INBOX. ergaenzen.

Dann kommt noch der unangenehmste Part, dass eben die "alten" nnmail-mails natuerlich auf den imap-server sollen.

Hier eine Empfehlung von Kai Grossjohann:

Mail aus foo nach imap verschieben:

G m INBOX.foo RET nnimap RET
;je nach Name des imap-servers hier angeben - in meinem Fall home RET
j nnml:foo RET
C-u RET
;; ggf. RET bei grossen Gruppen (siehe gnus-large-newsgroup)
M P a
B m nnimap+<servername, s.o.>:INBOX.foo RET
q

Bei umfangreichen Gruppen kann das schon mal 15-30 Min dauern, je nachdem.

Und: imap-Zugriff selbst von lokal ist doch merklich langsamer als nnmail. Aber das duerfte zu erwarten gewesen sein, da ja alles nicht direkt mit Files, sondern eben ueber eine tcp-Verbindung abgewickelt wird.


Jens Gecius (imagine an email address for myself at gecius.de :-)
Last modified: Wed Apr 3 20:52:54 EST 2002

Valid HTML 4.01!