Konvertering till maildir

Från Lysators datorhandbok, den ultimata referensen.
Version från den 31 mars 2006 kl. 18.38 av Poj (diskussion | bidrag) (Konverterade artikel)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök
Historiskt
Den här informationen är troligtvis mest av historiskt intresse, men finns kvar eftersom nån kan tänkas ha nytta av den.


Standardformatet för lagring av mail på Lysators mailsystem är Maildir. För att konvertera gamla mailboxar i mailbox-format till Maildir finns vissa hjälpmedel på Lysators system. Idag är istort sett alla användare konverterade till Maildir för inkommande mail.

I Maildir är varje mail en fil. Visserligen byter filen namn några gånger på vägen genom systemet, men backup kommer ändå inte att ske mer än max ca 3 gånger av varje mail, vilket är betydligt bättre än tidigare.

Konverteringsprogramvara

Programmet mbox2maildir, skrivet av Erik Forsberg, hjälper dig att konvertera dina gamla mailboxar till Maildir-format.

Men.. öh.. sluta pladdra! Hur gör jag?

Till att börja med loggar du in på en bra maskin.

Du börjar med att lokalisera de mailboxar som ska konverteras. Din inbox är redan i Maildir-format, så den behöver inte konverteras. De boxar som kan behöva konverteras ligger i mbox-format under ~/mail eller ~/Mail, eller någon annan stans.

För att Courier (IMAP/POP-servern) ska hitta dem ska de ligga under /var/mail/<user>/Maildir/ och ha namn som börjar på ".". Dvs, om du tidigare hade en folder /home/<user>/Mail/spam så ska den konverteras till en maildir vid namn /var/mail/<user>/Maildir/.spam för att synas i din IMAP-klient när du kör mot nya servern. För att göra det kör du det här kommandot:

mbox2maildir /home/<i><user></i>/Mail/spam /var/mail/<i><user></i>/Maildir/.spam

Även detta kommando skriver ut en del text för att du ska få den där varma känslan som du alltid får av att köra saker hos Lysator.. ;-)

Om du har mailboxar i flera nivåer, t.ex. /home/<user>/Mail/lists/ding så blir det nya namnet /var/mail/<user>/Maildir/.lists.ding

Efter konverteringen kan du få ett mail i maildir-foldern med titeln DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA. Detta är bara ett skräpmail från mailbox-formatet som du med gott samvete kan radera.


Procmail, då? Vad behöver ändras?

Om du använder procmail för att fördela mail i olika lådor så behöver du ändra lite i din .procmailrc. Procmail kan leverera till maildir - man ser till att avsluta namnen på sina mailboxar med ett /, så sker leverans som maildir i stället för som enkel mailbox.

Det första man bör ändra är att sätta MAILDIR och DEFAULT. Den första variabeln anger baskatalog för dina mailboxar, och ska sättas till /var/mail/<user>/Maildir/. Den andra anger var mail som inte fångas av någon regel ska hamna. Den sätts också till /var/mail/<user>/Maildir/. Observera att det är viktigt att avsluta med en / i DEFAULT-variabeln. Sedan ändrar du alla mailboxnamn så att namnet inleds med en punkt och avslutas med en slash. Om du har mailboxar i underkataloger byter du ut slasharna mot punkter. Eftersom maildir till skillnad från mbox inte kräver låsning behöver du heller inte ha ett andra kolon i första receptraden. Antag att din .procmailrc ser ut så här idag:

    MAILDIR=/home/davidk/mail

    :0:
    * x-spam-flag: yes
    spam

    :0:
    * ^TOlinux-kernel
    lists/linux

Efter dina ändringar ska den se ut så här:

    MAILDIR=/var/mail/davidk/Maildir/
    DEFAULT=/var/mail/davidk/Maildir/

    :0
    * x-spam-flag: yes
    .spam/

    :0
    * ^TOlinux-kernel
    .lists.linux/

I övrigt se sidan om Procmail