MS Outlook to Unix Mailbox Conversion mini HOWTO

Greg Lindahl, lindahl@pbm.com

v1.4, 2004-01-08
Questo mini HOWTO tratta la conversione di e-mail da Microsoft Outlook (non Outlook Express) al tipico formato di file Unix. Traduzione a cura di Rossella Diomede, rossdiomede@tiscali.it e revisione a cura di Beatrice Torracca.

1. Introduzione

Mentre esistono svariati programmi per la conversione di alcuni formati come Microsoft Outlook Express nel formato Unix, gli utenti di Outlook hanno qualche difficoltà in più. Un sistema di conversione utilizza Mozilla Mail sotto Windows, un altro utilizza un metodo più complicato. Entrambi verranno illustrati in questo mini HOWTO.

Il formato di database che Outlook usa per i file .PST, chiamato Jet, è documentato all'indirizzo:

http://msdn.microsoft.com/library/techart/olexcoutlk.htm

1.1 Copyright

Copyright (c) 2001-2004 by Greg Lindahl

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license may be found at:

http://www.gnu.org/copyleft/fdl.html

I request that corrections and/or comments be forwarded to the document maintainer. If you're considering making a derived work other than a translation, I request that you discuss your plans with the current maintainer.

1.2 Liberatoria

Le informazioni contenute in questo documento sono da utilizzare a proprio rischio. L'autore non si ritiene responsabile dell'affidabilità dei contenuti dello stesso. L'uso di concetti, esempi e/o altri contenuti è interamente a rischio del lettore.

Il copyright è mantenuto dall'autore, a meno che non venga indicato diversamente. L'uso dei termini di questo documento non intende alterare la validità di qualsiasi marchio commerciale o marchio di servizio.

L'aver menzionato prodotti specifici o marchi non deve essere considerato come un suggerimento all'acquisto.

Si raccomanda di eseguire un backup del sistema prima di modifiche rilevanti e di ripeterlo ad intervalli regolari.

Non mettete il vostro gatto in un forno a microonde in funzione.

1.3 Novità

1.01: Corretti errori di stampa secondari nelle istruzioni di esecuzione automatica di inetd e xinetd.

1.1: Aggiunte informazioni riguardo a Kmailcvt, Mozilla e come far sì che Outlook dialoghi con i server IMAP quando è in modalità Exchange.

1.2: Aggiunti dettagli su come eseguire la stessa operazione con Mozilla.

1.2.1: Corretti errori di stampa nella formattazione.

1.2.2: Concesso sotto licenza GFDL, corretti numerosi errori di stampa secondari.

1.3: Corretti altri errori secondari.

1.4: Informazioni sul formato TNEF grazie a Scott Phelps.

1.4 Altri metodi in uso

Un elenco di utilità di conversione, la maggior parte commerciali, può essere trovata all'indirizzo:

http://www.emailman.com/conversion/index.html

L'autore ha sentito dire che il programma Kmailcvt è in grado di convertire le caselle di posta di Outlook. Tuttavia non vi è la certezza al 100%, dal momento che Kmailcvt converte di sicuro le caselle di posta di Outlook Express, che sono completamente diverse da quelle di Outlook. Pertanto se si dovesse venire a conoscenza di ciò si prega di comunicarlo.

2. Conversione usando Mozilla Mail

L'autore ha sentito dire inoltre che Mozilla Mail sotto Windows è in grado di convertire le caselle di posta di Outlook, ma l'unico riscontro certo che ha avuto è che gli allegati non vengono convertiti. Pertanto, si sconsiglia questo metodo se gli allegati sono importanti.

Parte della documentazione è stata trovata sul sito Web di Ximian Evolution. La procedura non è stata verificata in quanto l'autore non possiede più un computer con sistema operativo Windows. Questa è qui di seguito descritta:

Avviare Mozilla Mail

Andare su "File > Importa" e indicare che si vuole importare la posta da Outlook. Fatto ciò la procedura è quasi conclusa.

L'autore sostiene che Mozilla memorizza le sue caselle di posta come file di formato mbox per Unix, anche sotto Windows. Pertanto è sufficiente trasferire tali file nella propria Linux box. È possibile trovarli in:

C:/windows/Application Data/Mozilla/Profiles/default/XXX/Mail/imported.mail/, dove XXX sarà un insieme di cifre. Se si tratta di un sistema Windows multiutente, invece, "default" sarà sostituito dal proprio nome utente.

Come già anticipato precedentemente, questo metodo non è stato provato dall'autore, pertanto non se ne conosce l'esatta efficacia. In particolare, le questioni sollevate nella sezione 3.4 probabilmente riguardano anche questo sistema di conversione.

A proposito, il motivo per cui Mozilla è in grado di leggere le caselle di posta di Outlook solo sotto Windows è perché effettua una chiamata a una DLL Microsoft.

3. Conversione usando IMAP

3.1 Preparazione

Come prima cosa accertarsi di voler convertire seguendo questo metodo. In particolare, la sezione 2 illustra come usare Netscape Mail sotto Windows per effettuare la conversione. Tale metodo risulta più semplice del seguente.

Se si decide di utilizzare questo metodo, occorre accertarsi che la propria copia di Outlook sia in grado di dialogare con i server IMAP. Quando questo HOWTO è stato scritto l'autore supponeva che Outlook consistesse in un unico programma. Non è così. Se si sta utilizzando Outlook in modalità Società o gruppo di lavoro (che dialoga con Exchange) invece della modalità Internet (che dialoga con i server POP/IMAP), sarà necessario cambiare modalità.

Per verificare ciò aprire il menu "Strumenti" di Outlook e controllare che ci sia un account registrato. Se c'è saltare alla sezione 3.2. Altrimenti armarsi di pazienza e leggere quanto segue.

La modifica della modalità non è una cosa di scarso rilievo, ma un lettore premuroso (Matt Huyck) ha inviato le seguenti istruzioni, che appaiono rischiose e che non sono state testate dall'autore:

Selezionare "Opzioni" dal menu "Strumenti" e andare alla scheda "Configurazione della posta". Nella parte inferiore c'è un pulsante denominato "Riconfigurazione supporto posta". Trattenere il respiro e fare clic con il mouse. Si aprirà una finestra con "Avvio di Outlook 2000" nella barra del titolo e "Opzioni del servizio e-mail" nell'intestazione. Ci sono due principali pulsanti di opzione: "Solo Internet" e "Società o gruppo di lavoro". Scegliere "Solo Internet" e fare clic su "Successivo". Si aprirà una finestra di messaggio da leggere con attenzione in quanto si sta modificando (in modo reversibile) la configurazione del client Exchange. Se non si è già svenuti si può ora smettere di trattenere il respiro. Anche se non viene chiesto espressamente, accertarsi di avere una copia del CD di installazione di Microsoft Office prima di fare clic su "Si". Fare clic su "Si" e lasciare che Outlook giri per alcuni secondi prima di chiudersi del tutto. Aprire nuovamente Outlook. A questo punto è possibile che venga richiesto il CD di installazione. Dopo aver completato la riconfigurazione si può passare al punto 3.2 dell'HOWTO.

Per ripristinare la configurazione originale di Outlook seguire lo stesso percorso facendo clic sull'altro pulsante di opzione.

Se si sta utilizzando Exchange ci si troverà di fronte a un'altra differenza. Come indicato al termine della sezione 3.4 la riga originale "From " non è mantenuta. Per gli utenti di Exchange, tuttavia, il commento "Informazioni in realtà non necessarie" non si applica. L'intestazione mancante "From" è l'unica a contenere l'identità del mittente in messaggi spediti su un server interno Exchange, cioè messaggi che non passano attraverso un gateway di Internet. L'intestazione "From" viene mantenuta salvando copia delle cartelle di posta come file di testo attraverso il comando "Importa ed esporta" del menu "File". L'autore proverà a creare un qualche codice Perl/Grep contorto che reinserirà le intestazioni "From" nei file mbox di Linux. In caso di esito positivo l'autore informerà gli utenti.

3.2 Installazione temporanea di un server IMAP nella Linux box

Poiché l'installazione cambia a seconda della distribuzione Linux, verrà utilizzata una RedHat 7.0 a titolo di esempio. Per prima cosa occorre installare il pacchetto giusto, generalmente chiamato "imap" o "uw-imap" o qualcosa di simile:

 cd /home/redhat-7.0-cd/RedHat/RPMS
 ls *imap*
 rpm -i imap*

In realtà, poiché l'autore aveva una "workstation" installata ha dovuto installare anche il pacchetto xinetd: rpm dava un errore consigliando ciò. E, naturalmente, questo si trovava nel secondo CD di RedHat 7.0. Gli utenti di Debian utilizzando "apt-get" non devono preoccuparsi di queste cose.

Successivamente, occorre abilitare il server IMAP. Sui desktop GNOME, come quello dell'autore, ciò è possibile utilizzando lo strumento grafico in Start -> Impostazioni del sistema -> Impostazioni del server -> Servizi, oppure è possibile farlo manualmente. Ciò è solitamente controllato da una riga nel file /etc/inetd.conf:

 #imap    stream  tcp     nowait  root    /usr/sbin/tcpd        /usr/sbin/imapd

La suddetta riga è commentata. Togliere il simbolo iniziale #. Se invece il sistema utilizza xinetd, modificare /etc/xinetd.d/imap e cambiare "disable=yes" in "disable=no".

Riavviare inetd o xinetd digitando:

 /etc/rc.d/init.d/inetd restart

oppure

 /etc/rc.d/init.d/xinetd restart

Se ciò dovesse fallire, riavviare il sistema.

Evitare di lasciare il server IMAP abilitato per lungo tempo. Esso gira come root ed in passato sono stati riscontrati dei bug di sicurezza. Pertanto, è preferibile lasciarlo disabilitato a meno che non lo si voglia utilizzare permanentemente. Per le istruzioni su come disabilitarlo vedere alla sezione 3.5.

Per collegare Outlook al server IMAP è necessario conoscere il nome o l'indirizzo IP della propria Linux box.

3.3 Collegamento del client Outlook al server

Per poter copiare le proprie e-mail sul server occorre comunicare al client Outlook l'esistenza di questo nuovo server. Selezionare "Account" dal menu "Strumenti" e fare clic su "Aggiungi un nuovo account di posta elettronica". Gli elementi importanti sono che il server usa IMAP per scaricare le e-mail, che il server di posta in arrivo è il nome o l'indirizzo IP della Linux box, come descritto nella sezione 3.2, e il nome utente e la password saranno quelli in uso nella Linux box. (Di solito, non è una buona idea utilizzare l'account root di Linux a questo scopo).

Una volta scelto "Fine", impostare tale account come predefinito evidenziandolo e facendo clic su "Imposta come predefinito". Outlook si collegherà al server IMAP, il cui nome dovrebbe apparire nella parte inferiore dell'elenco delle cartelle. Fare clic con il mouse. Verrà visualizzata la cartella Posta in arrivo. (Si noti che se /var/mail/proprionomeutente non esiste nella Linux box non si potrà trascinare nessun messaggio nella cartella Posta in arrivo e il messaggio di errore risulterà non chiaro. Tuttavia, non è ciò che si sta per fare).

3.4 Copia delle e-mail

Ora è possibile trascinare intere cartelle di e-mail da Outlook sul nome del server IMAP. In tal modo verranno copiate le e-mail, inclusi gli allegati, nella Linux box. Sfortunatamente essi verranno immediatamente eliminati da Outlook. Per copiare gli elementi senza che vengano eliminati, fare clic con il pulsante destro del mouse sul nome della cartella e selezionare l'opzione "Copia". Per la destinazione, scegliere il server Linux in fondo all'elenco.

Tuttavia, non è sempre tutto così semplice. Outlook supporta cartelle all'interno delle quali ci sono sottocartelle che contengono messaggi. I server IMAP di Linux non supportano ciò (almeno quelli che usano il formato Mailbox). Una cartella può essere un normale file che contiene messaggi, così come una directory che contiene sottodirectory e file. Pertanto se in Outlook si hanno cartelle che contengono sia messaggi che sottocartelle non è possibile copiare l'intera struttura sul server IMAP di Linux. Un'altra incompatibilità del server IMAP di Linux è che bisogna segnalare in anticipo se una nuova cartella conterrà sottocartelle o messaggi. Questo viene fatto aggiungendo uno slash (/) al nome della cartella che si sta creando. Esso scomparirà quando la cartella è stata creata.

Quindi, per poter copiare una struttura di cartelle sul server IMAP di Linux è necessario creare come prima cosa una copia della gerarchia delle cartelle sul server IMAP di Linux. Durante questa operazione osservare in quale delle cartelle esistenti sono presenti sia sottocartelle che messaggi. Sarà necessario spostare tali messaggi altrove. Una volta creato l'albero gerarchico completo, sarà possibile copiare o spostare gruppi di cartelle sul server IMAP di Linux.

Un'ultima incompatibilità da rilevare è che il server IMAP di Linux non consente cartelle con slash nel nome (/). Sarà necessario rinominare tali cartelle prima di copiarle o spostarle.

Nella Linux box le cartelle sono visualizzate come file e directory nella propria home directory. Il formato di questi file è il formato di posta Unix abituale che la maggior parte degli strumenti di posta Unix/Linux utilizzano direttamente o dal quale e verso il quale convertono. Gli allegati dei file saranno di tipo MIME. Ogni cartella contiene inoltre un messaggio aggiuntivo che è l'intestazione (inutile).

(La parte di dati che non sarà mantenuta è la riga originale "From", che contiene l'indirizzo "envelope" della e-mail. Fortunatamente tale informazione non è realmente necessaria).

Un altro problema riguarda gli allegati. Talvolta Microsoft raggruppa insieme più allegati in un allegato ms-tnef: TNEF è l'acronimo di Transport Neutral Encapsulation Format. Tale allegato contiene diversi allegati codificati in formato MIME. L'autore si ritiene fortunato per il fatto che le sue cartelle di posta non contenevano nessuno di questi. Sembra che essi vengano creati quando si riceve un'e-mail in formato "Rich Text Format": essa contiene due tipi di informazioni, una è la versione in testo normale del messaggio e l'altra è una versione incapsulata TNEF del messaggio in RTF che include anche gli allegati.

Fortunatamente, esistono alcuni metodi per decomprimere gli allegati TNEF. Uno è il progetto tnef disponibile su sourceforge, l'altro è ktnef, che fa parte di KDE.

3.5 Disinstallazione di IMAP dalla Linux box

Una volta trasferite tutte le e-mail, disinstallare il server IMAP dalla Linux box per i motivi di sicurezza citati precedentemente. Per fare ciò eseguire i due precedenti passaggi utilizzati per installare il server:

  1. Togliere gli RPM:
      rpm -e imap
    
  2. Togliere la riga in /etc/inetd.conf o /etc/xinetd.d/imap
  3. Riavviare inetd o xinetd, o riavviare il computer.

Voilà! È stato compiuto un altro passo verso uno stile di vita libero da Microsoft.