Conversion of Legacy MSMacMail Archives

From Mac Guides

Jump to: navigation, search
This article needs to be cleaned up to conform to a higher standard of quality.
See Help:How to Edit a Page and Help:Style Guide for help, or this article's talk page.


The guide explains how to convert mail archives from Microsoft Mail for Macintosh to .eml/.pst/.dbx etc. It will take you through the steps of getting back your mail archives. Many people used a client email on MacOS 6/7/8 or so – Microsoft Mail. This product had a bit of history and was also known as "Microsoft Mail for AppleTalk Networks" or even "MSMail for Mac". There's an article here and on Wikipedia about it.

Archives from the program are not easy to manipulate into modern mail programs on Windows computers. I don’t know if it easier if using Mac mail tools – I have a Mac, but don't use it for mail storage. Here’s my guide:

Contents

Background

The one I used was version 3 (if I remember right), and was used around the mid-1990’s. I used this for a couple of years as my university department shared machines had them. The client could only connect to Microsoft’s server software, Microsoft Mail, and not connect to pop3 or imap clients. The mailer was fairly standard – no html or anything fancy, I can’t even remember if it had an address book! Mail storage was quite limited, so the only archive option was to export the mails into text files. As far as I can remember, there was no import mail option on the client.

Then in about 1998 my university migrated to exchange/outlook, and MSMacMail got binned, while transferring any current inboxes. Windows machines with Outlook were becoming prevalent at the university. Personal folders were a convenient way of organising mail, and it seemed to be the norm. The question is, what do I do with the old mail archives?

I can’t have been the only person globally who has MSMacMail archives, and wants them imported into a more modern program. Sadly there is not a single import/export program available on Windows that can take these archives, and throw them into Outlook/Express/Eudora/Netscape/anything. So I was stuck with doing it by hand, and here’s the result! Hope it works for you.

Fascinating facts

Export files from MSMacMail are readable – plain text files (mac format) with one message after another. In theory this sounds like the Unix standard mbox format (as used by Thunderbird), but with a few small additions. Firstly, Mac mail divides messages into Notes and Messages. Notes are sent between users on the same server, while messages are those that go across MSMail servers, and of course the internet. Messages contain full header data at the end of each message, while notes don’t have headers, except usual From, To, Subject, Date lines. Each Note/Message is separated by a line of equals signs. All this is readable by any text editor that supports Mac format text files (such as EditPad), but it makes browsing and searching a severe problem. Each file contains as many messages as selected at the time of export.

Here’s a sample of a note and a message entry in one of the files (names have been blanked to protect the innocent!).

A couple of Notes:

Image:Note.gif

A couple of Messages:

Image:MsMacMailMessage.gif

Having a look at this it does not seem like too much transformation to get this to be equivalent to mbox format. However, the easiest workable format appears to be Outlook Express’ .eml format. This only requires that From, To, Subject, Date headers are present in the message, and throws the rest into the body. Of course the RFC8422 header will be lost, but that is not the end of the world – any email addresses are extractable.

Here’s a sample note/message saved as .eml and a screenshot of OE6 opening it. Turn the message into this format in the text editor:

Image:MsMacMail_Save_as_eml.gif

Save it as an eml file and open it with Outlook Express: Image:MsMacMail_Converted_to_OE.gifRight, we may have found a way to do them all...

The Method

OK, we have our input format, and our preferred output format. I thought of several methods to go from one step to the other, including scripting, and using a data transformation tool that is part of my day job (but costs $millions). In the end I found a method that uses no programming expertise, and freely available Windows software. Here is the summary:

  1. Use a text editor to replace the "Message for..." with a keyword
  2. Do the same for "Note for..."
  3. Save the archive file
  4. Split the message at the constant text
  5. Rename to .eml
  6. Remove odd extra spaces
  7. Remove keyword
  8. Import into Outlook express
  9. If needed, import into preferred mailer.

Programs used:

A program to read Mac format text files, and do text processing - EditPadLite (www.editpadpro.com/editpadlite.html)

A program to replace text in multiple files - Lightning (freeware) (http://icarte.com/Lightning/)

A program to split files into smaller ones by keyword - Winsplit, (www.unganisha.org/home/pages/winsplit/ ) freeware

A program to rename multiple files - Rename 1-4a (http://www.1-4a.com/), freeware, or you can use windows standard rename command.

If you don't mind using a trial version of shareware, Ultraedit32 (www.ultraedit.com), is my preferred text editor. It can also replace text in multiple files, making the use of Lightning redundant.

Finally, you will need to use Outlook Express (or Windows Mail on Vista) to read the resulting files. It can be used as a staging post for another format.

I'll assume you're using UltraEdit for the instructions.

  1. Open up an archive file from MSMail. Change the file format to dos (File -> Conversions -> Unix/Mac to DOS).
  2. Choose a keyword that will not appear in the text archives. This does not have to be a word, just some text. I used ‘**STRIP**’ which wasn’t in any of the archives. Now select all the text from "Message for..." and the start of the line of "From:" which includes the carriage returns. Copy this text, and enter this in the search->replace function in UltraEdit, with the keyword as the replacement. Here's a screenshot:
    Image:MsMacMail_Strip.gif

    You can see two vertical stripes in the end of the 'Find What' text box - this is UltraEdit telling you it's got the end of line markers.
  3. MSMail had a method of placing the text *** URGENT *** as an importance indicator for the mail client, in front of the "From:" section. If this is in your archive, it will have to be removed. Use the same Replace box in Ultraedit, and replace the *** URGENT *** with blank text in the 'Replace with' box
  4. Now select the text between "Note for..." and the start of "From:" and include the carriage returns, and again replace with the keyword, in the same way as step 1.
  5. Open the Winsplit program, and, select the split option. There is an option to split on a particular keyword – enter the same keyword text in here. Give it the name of the saved file in step 3. Give it a location for saving the split files.
    Image:MsMacMail_Winsplit.gif
  6. By now you should have a load of emails with a .1, .2 extension etc. These now need individually renaming to .eml files. This can be done with quickly in command window, but it’s easier to use 1-4a rename.
    • The quick way is to open up a command window (start -> run -> cmd), navigate with cd to the directory where your files are, then run the command rename *.* *.eml. If you are not familiar with the command line, use the method below. OR
    • To use 1-4a Rename, open the program, locate the directory with all the files in, select "insert/append" and "Whole Name", and enter ".eml" as the box. You'll need to change the number in the "Pos" box zero, to force it to tack the ".eml" to the end of the filename. In the New Name column in the grid, the names of the individual files will now be ending in .eml. Press the start button.
      Image:MsMacMail_1-4rename.gif
  7. Now each file can be opened in Outlook Express, but the mails are not quite ready yet. If you look closely at the Subject line in the subject is shifted over a few spaces. This can be seen in the screenshot for the eml picture.. Now each of those must be removed in each file. Open up ultraedit, open up a new eml file, and select the text from "Subject " up to the edge of the actual subject. Copy this, and open Search->Replace in files. Paste the value into the search box. Paste into the replace box too, and then edit the text in the replace box. Select the right hand characters after the colon, and replace it with a single space. Locate the folder with all the files in, and put "*.*" as the file type. Then click replace all. After a confirmation dialog, it should be finished rapidly.
    Image:MsMacMail_Remove_tab.gif
  8. Now the files will still have the keyword in them. To remove this, open the replace in files function in Ultraedit again, and in the search box, put the keyword. In the replace box, delete all the text and leave it blank. Again put "*.*" As the file type. Hit 'Replace All', and all the files should be free of the keyword.
  9. Hooray – this may be your last step! Open up outlook express (even if you don’t use it as your mailer) and create folders for the incoming emails. If you’ve got individual archive files for sent and received mails, use separate folders for each. Use your judgement on however you want have them filed. Now set the folder open in OE, and select the eml files in windows explorer. Copy these into the folder in OE. Now you should see many emails in the standard list view. Hooray!
  10. If you want the mails in another program (e.g. Thunderbird), use that program’s import mechanism to get the specific folders in place. If you want it into a generic mbox format, you can use Mailbag Assistant (www.fookes.com), or other programs. At least now those emails are readable, browsable, and searchable!

Result

Here you have it. Repeat the above procedure for each archive file you have from MSMacMail, and they should be fully accessible.