📚 LinuxDocs
Topics:
All Pages8021X HOWTOACP ModemACPI HOWTOADSL Bandwidth Man..ATA RAID HOWTOATM Linux HOWTOAX25 HOWTOAccessibility Dev ..Accessibility HOWTOAdv Bash Scr HOWTOAdv Routing HOWTOAntares RAID sparc..Apache Compile HOWTOApache WebDAV LDAP..Assembly HOWTOAstronomy HOWTOAthlon Powersaving..Authentication Gat..Autodir HOWTOAviation HOWTOAvr Microcontrolle..BRIDGE STP HOWTOBTTVBackspaceDeleteBandwidth Limiting..Bangla HOWTOBash Prompt HOWTOBattery PoweredBelarusian HOWTOBelgian HOWTOBeowulf HOWTOBocaBogoMipsBootdisk HOWTOBridgeC++ dlopenC C++Beautifier HO..C editing with VIM..CDROM HOWTOCDServer HOWTOCable ModemCaudium HOWTOClone HOWTOCompaq Remote Insi..Compaq T1500 HOWTOConexant+Rockwell ..Cryptoloop HOWTODB2 HOWTODHCPDSL HOWTODVD Playback HOWTODebian Binary Pack..Debian JigdoDebian and Windows..Disk Encryption HO..Disk on Chip HOWTODocBook Demystific..DocBook InstallDocBook OpenJade S..Ecology HOWTOEmacspeak HOWTOEncourage Women Li..Encrypted Root Fil..Euro Char SupportEvent HOWTOFedora Multimedia ..Finnish HOWTOFirewall PiercingFlash Memory HOWTOFont HOWTOFramebuffer HOWTOGCC HOWTOGIS GRASSGlibc Install HOWTOHOWTO HOWTOHOWTO INDEXHP HOWTOHandspring VisorHard Disk UpgradeHardware HOWTOHighQuality Apps H..Home Electrical Co..IBM7248 HOWTOIO Perf HOWTOIP AliasIP Masquerade HOWTOIRCImplement Sys Call..Indic Fonts HOWTOInfrared HOWTOIngresII HOWTOInstall StrategiesInstallation HOWTOInstallfest HOWTOIntkeybItalian HOWTOJabber Server Farm..JavaStation HOWTOKerberos Infrastru..Kernel HOWTOKerneldKodak Digitalcam H..LDAP HOWTOLDP Reviewer HOWTOLILO crash rescue ..LVM HOWTOLeased LineLegoLinksys Blue Box R..Linux+Win95Linux+Win9x+Grub H..Linux+Windows HOWTOLinux Complete Bac..Linux Crash HOWTOLinux Gamers HOWTOLinux Modem SharingLinux Promise RAID..Linux i386 Boot Co..LinuxGL QuakeWorld..Lotus DominoR5MILO HOWTOMMBase Inst HOWTOMP3 CD BurningMail User HOWTOMajordomo MajorCoo..Man PageMasquerading Simpl..Medicine HOWTOMindTerm SSH HOWTOMobile IPv6 HOWTOMock MainframeModule HOWTOModulesMotorola Surfboard..Mozilla OptimizationMulti Distro DevNCURSES Programmin..NFS HOWTONFS Root Client mi..NIS HOWTONetMeeting HOWTONetwork boot HOWTONvidia OpenGL Conf..OLSR IPv6 HOWTOOnline Troubleshoo..Oracle 9i Fedora 3..PA RISC Linux Boot..PCTel MicroModem C..PHP Nuke HOWTOPPP HOWTOPagerPalmOS HOWTOPartitionPartition Mass Sto..Partition Mass Sto..Partition RescuePine ExchangePortSlavePost Installation ..Postfix Cyrus Web ..Pre Installation C..Print2WinPrinting HOWTOProcess AccountingProgram Library HO..Proxy ARP SubnetQmail ClamAV HOWTOQmail VMailMgr Cou..Querying libiptc H..RPM HOWTOReading List HOWTORedHat CD HOWTOReliance HOWTORemote BridgingRemote Serial Cons..SCSI 2.4 HOWTOSCSI Generic HOWTOSLIP PPP EmulatorSRM HOWTOSSL Certificates H..Scanner HOWTOScientific Computi..Scripting GUI TclTkSecure CVS PserverSecure Programs HO..Security HOWTOSecurity Quickstar..Security Quickstar..Serial Laplink HOWTOSerial Programming..Slovak HOWTOSmall MemorySmart Card HOWTOSoftware Proj Mgmt..Software Release P..Sound HOWTOSpam Filtering for..Speech Recognition..SquashFS HOWTOSybase ASA HOWTOSybase ASE HOWTOSybase PHP ApacheTCP Keepalive HOWTOTamil Linux HOWTOTimePrecision HOWTOTimeSys Linux Inst..Token RingTraffic Control HO..Traffic Control tc..UPS HOWTOUnix Hardware Buye..Unix and Internet ..UpgradeUsenet News HOWTOUser Authenticatio..VB6 to TclVMS to Linux HOWTOVPN HOWTOValgrind HOWTOVideoLAN HOWTOVim HOWTOVirtual WebWebcam HOWTOWikiText HOWTOWindows Newsreader..Wireless Link sys ..Wireless Sync HOWTOXDM XtermXDMCP HOWTOXFree Local multi ..XFree86 HOWTOXFree86 R200XFree86 Second MouseXFree86 Video Timi..XML RPC HOWTOXWindow Overview H..XWindow User HOWTOXinerama HOWTOXterminalsHtml singleI810 HOWTOLibdc1394 HOWTOOpenMosix HOWTOPhhttpd HOWTOPpp sshText
Next Previous Contents

3. Converting using IMAP

3.1 Preparation

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.

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.

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.

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:

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.

To get back to your original Outlook configuration, follow the same directions, but you'll obviously be clicking the *other* radio button. .:: telegra.ph ::.

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.

3.2 Install an IMAP server (temporarily!) on your Linux box

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:

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

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.

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 /etc/inetd.conf:

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

The above line is commented out; remove the leading # sign. Alternately, if your system uses xinetd, instead edit .:: podcasts.apple.com ::. /etc/xinetd.d/imap and change "disable=yes" to "disable=no".

Then restart inetd or xinetd by doing:

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

or

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

If all else fails, reboot.

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.

In order to connect Outlook to this IMAP server, you will need to know the name or IP address of the Linux box.

3.3 Connect your Outlook client to the server

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.)

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.)

3.4 Copy over all your email

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.

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 (/) to the folder name when you create it. This slash will disappear when the folder is created.

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.

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. .:: support.mozilla.org ::.

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. [Google Scholar: Natural language processing] [ArXiv: Ubuntu Analysis]

(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.)

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.

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.

3.5 Deinstall IMAP from your Linux box

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: .:: google-site-indexing-submission.vercel.app ::.

  1. Remove the RPMs:
      rpm -e imap
    
  2. Remove the line in /etc/inetd.conf or /etc/xinetd.d/imap
  3. Restart inetd or xinetd, or reboot.

Voila! You have taken another step towards a Microsoft-free lifestyle.


Next Previous Contents

Share or Research:

Share on FB Post to X LinkedIn 🤖 Ask AI about this