Drift/Mail/Konvertere til Maildir

From Programvareverkstedet
< Drift‎ | Mail

Denne siden forklarer forhåpentligvis det meste om konvertering til Maildir på PVV :-)

Hvorfor konvertere?

Hovedårsaken til at vi gjerne vil at du skal konvertere til Maildir, er fordi det sparer masse plass når vi tar inkrementell backup hver dag. Med MBOX-formatet må hele innboksen kopieres hver dag, mens med Maildir holder det å kopiere det som har blitt endret siden i går. Dette sparer kjempemye plass på backup-maskinen, og vi unngår dermed at den går full og blir trist og lei.

Enkelte operasjoner (som f.eks. lagring) går også vesentlig kjappere med Maildir, og det er jo kjekt for deg som bruker. Det er også tilnærmet umulig at innboksen din blir korrupt med Maildir, et problem som dukker opp av og til hos MBOX-brukere.

Hva skjer med IMAP og Webmail?

PVVs IMAP-server, imap.pvv.ntnu.no, støtter nå både MBOX og Maildir. Denne fungerer slik at den automatisk forstår om du bruker MBOX eller Maildir (ved at sjekker om katalogen ~/Maildir/ finnes).

Dette betyr at om du bruker Webmail, Thunderbird, Evolution, Outlook eller en annen IMAP-klient vil alt fungere like bra etter konverteringen.

Kan jeg lese de gamle mbox-filene mine via IMAP selv om jeg bytter til Maildir?

Ja, det kan du. IMAP-serveren har et eget såkalt "namespace", der ~/mail-katalogen din dukker opp. Denne heter "#mbox/", og havner som en egen katalog i IMAP.

Støtte for lokale klienter

Med lokal klient mener vi klienter som aksesserer e-posten direkte, uten bruk av IMAP. Dette vil i praksis si klienter man kjører i et ssh-vindu mot en av PVVs maskiner. De vanligste av disse er Pine og Mutt.

Støtter pine Maildir?

Svaret på det er vel "tja". Pine støtter ikke maildir direkte, men den støtter IMAP aldeles utmerket. Om du allerede bruker pine mot IMAP vil det være helt uproblematisk.

Vi har skrevet en Drift/Mail/IMAP POP3:veiledning for hvordan man setter opp IMAP med pine.

Vær oppmerksom på at når du bruker IMAP vil du bli bedt om passord hver gang du starter Pine, med mindre du får til triksene som er nevnt i ovennevnte artikkel. Om du får det til, si gjerne fra hva du gjorde, for vi andre klarer det ikke.

Om du er redd for å lage kaos kan du også forsøke å få til imap først, og så konvertere til maildir etterpå. Så får du tatt endringen i litt mindre porsjoner.

Støtter mutt Maildir?

Ja. Mutt ser automatisk at en katalog er et maildir, og behandler den deretter.

Hvordan konvertere

Fremgangsmåten vi anbefaler for konvertering går ca. sånn:

  • Opprett mailboksene dine
  • Oppdater mailfilteret ditt
  • Konverter den gamle mailen (hvis du vil)

Grunnen til at vi anbefaler at man gjør det slik, er at det sikrer at det ikke skjer noe tull med mailen som leveres mens du holder på å konvertere. Om du konverterer mailen først, og så oppdaterer mailfilteret, så risikerer du at noe mail leveres til din gamle MBOX i mellomtiden.

Husk: Dersom du synes dette virker vanskelig, er det ingen skam å be drift om hjelp. Vi vil at du skal begynne å bruke maildir, og dermed er vi selvsagt også interesserte i å hjelpe deg å få det til også. Bare send en e-post til drift (grisehale) pvv.ntnu.no, så vil vi gjøre vårt beste for å hjelpe deg :-)

For å la gammel mail være der den er

Du trenger strengt tatt ikke konvertere den ekesisterende mailen din til Maildir for å bytte. Det er også mulig å bare la den gamle være som den er, og bare endre hvor ny mail leveres. For å gjøre dette, sølg en av de nedenstående veiledningene, men dropp delen med konvertering av mail. Du vil fortsatt få tilgang til den gamle mailen din via IMAP eller Webmail, under katalogen #mbox/.

Det er ikke noe problem for drift om du velger å gjøre det slik. Det er kun MBOX-filer som endres jevnlig som belaster backup-serveren ekstra. MBOX-filer som bare ligger i ro gjør ingen skade i det hele tatt.

For å konvertere alt

  • SSH til microbel.pvv.ntnu.no
  • Opprett kataloger:
# Hovedkatalog
maildirmake Maildir

# Underkataloger (pass på, dette er _en_ linje)
find mail -type f -not -path '*/.*' -print0 | perl -0ne 's,^mail/,,;s,/,.,g;print "Creating $_\n";system "maildirmake","-f",$_,"Maildir"'
  • Oppdater mailfilteret til strukturen du har fått i ~/Maildir (se nedenfor)
  • Konverter all gammel mail:
# Innboks
mb2md -m

# Alle underkataloger
mb2md -s mail -R
  • Kontroller at mb2md fullførte som den skulle (f.eks. at ikke disken gikk full)

For å konvertere litt om gangen

La oss si du har lyst til å ta konverteringen litt etter litt. Kanskje du synes det blir et stort skritt, eller kanskje du ikke har nok ledig plass til å konvertere alt på en gang.

Vi antar at du har lyst til å konvertere innboksen og folderene "studie" og "pvv/aktive".

  • SSH til decibel.pvv.ntnu.no
  • Opprett kataloger:
# Hovedkatalog
maildirmake Maildir

# Underkataloger (merk at under-underkataloger skilles med punktum)
maildirmake -f studie Maildir
maildirmake -f pvv.aktive Maildir
  • Oppdater mailfilteret til strukturen du har fått i ~/Maildir (se nedenfor)
  • Konverter gammel mail:
# Innboks
mb2md -m

# Underkataloger (merk at mb2md trenger -R ved under-underkataloger)
echo studie | mb2md -s mail -l -
echo pvv/aktive | mb2md -R -s mail -l -
  • Kontroller at mb2md fullførte som den skulle (f.eks. at ikke disken gikk full)

PS: mb2md ser ut til å ha en bug i "-l"-opsjonen sin, og oppretter maildir-kataloger uansett om den skal legge noe der eller ei. Bare slett de tomme maildir-katalogene om du ikke vil ha dem.

Oppdatere mail-filteret

Om du ikke har noe filter

Dersom du ikke filtrerer mail fra før, kan du bytte innboks ved å legge til Maildir-katalogen i .forward. Dette gjør du ved å legge inn katalogen i .forward, omtrent slik:

echo $HOME/Maildir/ >> .forward

MERK: Du må ha full path til katalogen i .forward. Det vil si at det må stå f.eks. "/home/pvv/m/knuta/Maildir/", med / foran og ingen variabler. "echo $HOME/Maildir/" gir deg riktig katalognavn.

Om du bruker procmail eller maildrop

De fleste mailfiltreringsprogrammer forstår at en innboks er av typen maildir om den slutter med en slash. Dette gjelder minst følgende filtreringsprogrammer:

  • procmail
  • maildrop (trenger egentlig ikke / på slutten en gang)

Noen eksempler på nye stier (legg merke til formatet til underkataloger, der "." brukes flittig):

  • Før: $HOME/Mailbox
  • Etter: $HOME/Maildir/
  • Før: $HOME/mail/pvv-aktive
  • Etter: $HOME/Maildir/.pvv-aktive/
  • Før: $HOME/mail/pvv-lister/pvv-aktive
  • Etter: $HOME/Maildir/.pvv-lister.pvv-aktive/