230 lines
10 KiB
HTML
230 lines
10 KiB
HTML
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||
|
<HTML>
|
||
|
<HEAD>
|
||
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
||
|
<TITLE>MS Outlook to Unix Mailbox Conversion mini HOWTO: Converting using IMAP</TITLE>
|
||
|
<LINK HREF="Outlook-to-Unix-Mailbox-2.html" REL=previous>
|
||
|
<LINK HREF="Outlook-to-Unix-Mailbox.html#toc3" REL=contents>
|
||
|
</HEAD>
|
||
|
<BODY>
|
||
|
Next
|
||
|
<A HREF="Outlook-to-Unix-Mailbox-2.html">Previous</A>
|
||
|
<A HREF="Outlook-to-Unix-Mailbox.html#toc3">Contents</A>
|
||
|
<HR>
|
||
|
<H2><A NAME="s3">3. Converting using IMAP</A></H2>
|
||
|
|
||
|
<H2><A NAME="ss3.1">3.1 Preparation</A>
|
||
|
</H2>
|
||
|
|
||
|
<P>First, be sure you want to do things this way. In particular, section
|
||
|
2 explains how to use Netscape Mail under Windows to do the
|
||
|
coversion. That's easier than doing it this way.
|
||
|
<P>If you decide to do it this way, you need to make sure that your copy
|
||
|
of Outlook can talk to IMAP servers. When I first wrote this HOWTO, I
|
||
|
assumed that Outlook was Outlook was Outlook. Nope. If you are using
|
||
|
Outlook in Corporate/Workgroups mode (which talks to Exchange) instead
|
||
|
of Internet Mode (which talks to POP/IMAP servers), you'll have to
|
||
|
change modes.
|
||
|
<P>To test to see if you're OK, look at the Outlook "Tools" menu, and see
|
||
|
if there is an "Accounts" item. If there is, you're OK, and you can go
|
||
|
on to section 3.2. If there isn't, go find your towel, and keep reading.
|
||
|
<P>Changing modes is not trivial, but a helpful reader (Matt Huyck)
|
||
|
sent in the following instructions, which look dangerous, and
|
||
|
which I have not tested:
|
||
|
<P>Select "Options..." from the "Tools" menu, and then go to the "Mail
|
||
|
Services" tab in the resulting Options dialog box. At the bottom of
|
||
|
that tab there is a button labeled "Reconfigure Mail Support..."
|
||
|
Hold your breath and then click it. A new window comes up with
|
||
|
"Outlook 2000 Startup" in the title bar and an "E-mail Service
|
||
|
Options" heading. There are two relevant radio buttons: "Internet
|
||
|
Only" and "Corporate or Workgroup". Change over to "Internet Only"
|
||
|
and click "Next >". You are then prompted with a very long message
|
||
|
box which you should read carefully because you're about to make a
|
||
|
significant (but reversible) change to the Exchange client
|
||
|
configuration. If you haven't passed out already, you can stop
|
||
|
holding your breath now. Although it doesn't explicitly say so, you
|
||
|
will want to be sure you have a copy of the Microsoft Office install
|
||
|
CD before you click "Yes". Click "Yes" and let Outlook do its thing
|
||
|
for a few seconds until it has quit completely. Open up Outlook
|
||
|
again. This is where you may be prompted for the install CD. After
|
||
|
the re-configuration is complete you're ready to proceed with step
|
||
|
3.2 of the HOWTO.
|
||
|
<P>To get back to your original Outlook configuration, follow the same
|
||
|
directions, but you'll obviously be clicking the *other* radio button.
|
||
|
<P>One other thing is different if you've been using Exchange. As you
|
||
|
point out at the end of section 3.4, "the original 'From ' line" is not
|
||
|
preserved. For Exchange users, however, the comment "Fortunately you
|
||
|
don't actually need that information" doesn't quite apply. The
|
||
|
"From" header that's missing is the only one that contains the
|
||
|
identity of the sender in messages that were sent on an internal
|
||
|
Exchange server, i.e. messages that didn't pass through an Internet
|
||
|
gateway anywhere. I have preserved my "From" headers by saving
|
||
|
copies of my mail folders as text files through the "Import and
|
||
|
Export..." command from the "File" menu. I plan to hack out some
|
||
|
twisted Perl/Grep code that will re-insert those "From" headers into
|
||
|
my Linux mbox files. If I get that to work I'll let you know.
|
||
|
<P>
|
||
|
<H2><A NAME="ss3.2">3.2 Install an IMAP server (temporarily!) on your Linux box</A>
|
||
|
</H2>
|
||
|
|
||
|
<P>Installing things varies from Linux distribution to distribution, so I
|
||
|
will use RedHat 7.0 as an example. First you need to install the
|
||
|
correct package, which generally is named "imap". or "uw-imap" or
|
||
|
something like that:
|
||
|
<BLOCKQUOTE><CODE>
|
||
|
<PRE>
|
||
|
cd /home/redhat-7.0-cd/RedHat/RPMS
|
||
|
ls *imap*
|
||
|
rpm -i imap*
|
||
|
</PRE>
|
||
|
</CODE></BLOCKQUOTE>
|
||
|
<P>Actually, since I had a "workstation" install, I also had to install
|
||
|
the xinetd package; rpm gave me an error which told me to do
|
||
|
this. And, of course, it was on the second CD of RedHat 7.0. Debian
|
||
|
users using "apt-get" don't have to worry about such issues.
|
||
|
<P>
|
||
|
<P>Next, we need to enable the imap server. On my Gnome-basekd desktop
|
||
|
this is done using the graphical tool at Start -> System Settings ->
|
||
|
Server Settings -> Services, or you can do it by hand. This is usually
|
||
|
controlled by a line in the file <CODE>/etc/inetd.conf</CODE>:
|
||
|
<BLOCKQUOTE><CODE>
|
||
|
<PRE>
|
||
|
#imap stream tcp nowait root /usr/sbin/tcpd /usr/sbin/imapd
|
||
|
</PRE>
|
||
|
</CODE></BLOCKQUOTE>
|
||
|
<P>The above line is commented out; remove the leading # sign. Alternately,
|
||
|
if your system uses xinetd, instead edit <CODE>/etc/xinetd.d/imap</CODE>
|
||
|
and change "disable=yes" to "disable=no".
|
||
|
<P>
|
||
|
<P>Then restart inetd or xinetd by doing:
|
||
|
<BLOCKQUOTE><CODE>
|
||
|
<PRE>
|
||
|
/etc/rc.d/init.d/inetd restart
|
||
|
</PRE>
|
||
|
</CODE></BLOCKQUOTE>
|
||
|
<P>or
|
||
|
<BLOCKQUOTE><CODE>
|
||
|
<PRE>
|
||
|
/etc/rc.d/init.d/xinetd restart
|
||
|
</PRE>
|
||
|
</CODE></BLOCKQUOTE>
|
||
|
<P>If all else fails, reboot.
|
||
|
<P>
|
||
|
<P>You don't actually want to leave the IMAP server enabled for that
|
||
|
long. This server runs as root and has had security bugs in the
|
||
|
past. For this reason, you shouldn't leave it enabled unless you wish
|
||
|
to use it permanently. We will disable this server in section 3.5.
|
||
|
<P>
|
||
|
<P>In order to connect Outlook to this IMAP server, you will need to know
|
||
|
the name or IP address of the Linux box.
|
||
|
<P>
|
||
|
<H2><A NAME="ss3.3">3.3 Connect your Outlook client to the server</A>
|
||
|
</H2>
|
||
|
|
||
|
<P>In order to copy over all our email to the server, we need to tell
|
||
|
your Outlook client about this new server. Select "Accounts..." from
|
||
|
the "Tools" menu, and then "Add" a new account "Mail...". The
|
||
|
important items are that the server uses IMAP to download email, that
|
||
|
the incoming mail server is the name or IP address of your Linux box
|
||
|
from section 3.2, and the username and password should be your username and
|
||
|
password on the Linux box. (As usual, it's a bad idea to use the root
|
||
|
account on Linux for this purpose.)
|
||
|
<P>
|
||
|
<P>Once you've hit "Finish", set this new account to be the default by
|
||
|
highlighting it and clicking on "Set as Default". Outlook should
|
||
|
connect to your IMAP server, and the name of your IMAP server should
|
||
|
appear at the bottom of your folder list. Click on it; you should see
|
||
|
an Inbox folder. (Note that if /var/mail/yourusername doesn't exist on
|
||
|
your Linux box, you won't be able to drag-and-drop any messages into
|
||
|
your INBOX... and the error message will be confusing. However, that's
|
||
|
not what we're going to do.)
|
||
|
<P>
|
||
|
<H2><A NAME="ss3.4">3.4 Copy over all your email</A>
|
||
|
</H2>
|
||
|
|
||
|
<P>At this point you can drag and drop entire folders of email from
|
||
|
Outlook onto the IMAP server name. This will copy the email, including
|
||
|
all attachments, to the Linux box. Unfortunately it also immediately
|
||
|
deletes it from Outlook. In order to copy items without deleting them,
|
||
|
right-click on the folder name and select the "Copy" option. For the
|
||
|
destination, pick your Linux server at the bottom of the list.
|
||
|
<P>
|
||
|
<P>
|
||
|
<P>However, life isn't quite that simple. Outlook supports folders
|
||
|
containing folders which also contain messages. Linux IMAP servers do
|
||
|
not support that (at least those using Mailbox format); a folder is
|
||
|
either a regular file containing messages, or a directory containing
|
||
|
subdirectories and files. So if you have folders in Outlook with both
|
||
|
messages and subfolders, you can't copy the entire tree over to the
|
||
|
Linux IMAP server. Another incompatibility of the Linux IMAP server is
|
||
|
that you have to tell it in advance if a new folder will contain
|
||
|
subfolders or messages. You do this by appending a slash (<CODE>/</CODE>)
|
||
|
to the folder name when you create it. This slash will disappear when
|
||
|
the folder is created.
|
||
|
<P>
|
||
|
<P>So, in order to copy a tree of folders to the Linux IMAP server, first
|
||
|
you need to create a replica of the structure of your existing folders
|
||
|
on the Linux IMAP server. While you're doing this, note which of the
|
||
|
existing folders contain both subfolders and messages. You will need
|
||
|
to move these messages elsewhere. Once you have the overall tree
|
||
|
created, then you can copy or move groups of folders to the Linux IMAP
|
||
|
server.
|
||
|
<P>
|
||
|
<P>One final incompatibility to note is that the Linux IMAP server
|
||
|
doesn't allow folders with slashes (/) in their name. You'll need to
|
||
|
rename such folders before copying or moving them.
|
||
|
<P>
|
||
|
<P>On the Linux box, folders appear as files and directories in your home
|
||
|
directory. The format of these files is the usual Unix mail format,
|
||
|
which most Unix/Linux mail tools either use directly or can convert
|
||
|
to/from. Files with attachments will have MIME attachments; there is
|
||
|
also one extra message per folder which is a (useless) header.
|
||
|
<P>
|
||
|
<P>(One piece of data which doesn't get preserved is the original "From "
|
||
|
line, which contains the envelope address of the email. Fortunately
|
||
|
you don't actually need that information.)
|
||
|
<P>
|
||
|
<P>
|
||
|
<P>An additional wrinkle applies regarding attachments. Microsoft
|
||
|
sometimes bundles together several attachments into a ms-tnef
|
||
|
attachment; TNEF stands for Transport Neutral Encapsulation
|
||
|
Format. This attachment contains several mime-encoded attachments. I
|
||
|
was lucky that my mail folders didn't contain any of these -- they
|
||
|
seem to be created when people send you "Rich Text Format" email -- it
|
||
|
contains two alternatives, one in plain text and the other a
|
||
|
TNEF-encapsulated version of the message in rich text plus any
|
||
|
attachments.
|
||
|
<P>
|
||
|
<P>
|
||
|
<P>Fortunately, there are some ways to unpack TNEF attachments.
|
||
|
One is the tnef project hosted on sourceforge, the other is
|
||
|
ktnef, which is a part of KDE.
|
||
|
<P>
|
||
|
<H2><A NAME="ss3.5">3.5 Deinstall IMAP from your Linux box</A>
|
||
|
</H2>
|
||
|
|
||
|
<P>Once you've transferred all of your email, you will want to deinstall
|
||
|
the IMAP server from your Linux box, for the security reasons
|
||
|
mentioned earlier. This involves the same 2 steps you took to install
|
||
|
the server:
|
||
|
<OL>
|
||
|
<LI> Remove the RPMs:
|
||
|
<BLOCKQUOTE><CODE>
|
||
|
<PRE>
|
||
|
rpm -e imap
|
||
|
</PRE>
|
||
|
</CODE></BLOCKQUOTE>
|
||
|
</LI>
|
||
|
<LI> Remove the line in <CODE>/etc/inetd.conf</CODE> or <CODE>/etc/xinetd.d/imap</CODE></LI>
|
||
|
<LI> Restart inetd or xinetd, or reboot.</LI>
|
||
|
</OL>
|
||
|
<P>
|
||
|
<P>Voila! You have taken another step towards a Microsoft-free lifestyle.
|
||
|
<P>
|
||
|
<HR>
|
||
|
Next
|
||
|
<A HREF="Outlook-to-Unix-Mailbox-2.html">Previous</A>
|
||
|
<A HREF="Outlook-to-Unix-Mailbox.html#toc3">Contents</A>
|
||
|
</BODY>
|
||
|
</HTML>
|