C-Command Software Forum

Import Entourage Folders in EF

I am looking at the demo of EF and can import/drag individual emails from entourage to EF but NOT Folders. I can’t see i’m doing anything wrong but can someone clarify that this is possible and how it’s done.
How does one automate this process i.e. options to automate.
If it can automate does it only copy over new files to folders already created or create a new bunch of folders?

Entourage does not make all the message metadata available when dragging and dropping. Also, dropping mailboxes sometimes requires that you drag first to the Finder, then to EagleFiler.

Thus, the recommended way to import from Entourage is to select the messages and press EagleFiler’s capture key.

There are no built-in automation options, although both Entourage and EagleFiler support AppleScript, so automation is possible.

Recommended ways to handle email
My intended work flow is to automatically copy all Exchange inbox messages to a local inbox, and–once in awhile–move the local inbox to EagleFiler, empty the local inbox, and start over. If done right, this would have the advantage of keeping complete information “forever” in EagleFiler without running the risk of Entourage breaking or becoming corrupted after having thousands of messages. Further, EagleFiler wouldn’t care if I switched back to using Mail at some point.


  1. What’s the best way to do such transferring to EagleFile (with all attachments, etc.)?
  2. Should I routinely merge the resulting mailboxes in EagleFiler?
  3. Searching for old Mail in EagleFiler then works fine, but not browsing if the items are folders rather than individual messages. Is there something I am missing here?
  4. Am I correct that once a message is in EagleFiler it no longer is tagged with an Entourage identity? Thus, if I switched to Mail and deleted Entourage, would the messages in EagleFiler still be accessible as previously?

Like I said above, select the messages and press EagleFiler’s capture key.

Merging is not strictly necessary, but it will make the storage and searching more efficient, and perhaps help you with organization.

Could you be more specific? How is the browsing not working for you?

Correct. EagleFiler copies the message data into its library, so you can freely delete the original messages.

I have tried this but had EF choke, presumably because of the huge number of messages. Is there a limit on how many can reasonably be selected (10, 100, 1000, 10000)?

Please explain what you mean by “choke.” It should work with 10,000 messages, unless you run out of disk space.

I mean by “choke” that EF would become unresponsive, that the machine as a whole would slow, and that I would have to do a ForceQuit. EF becoming non responsive occurs fairly often. Perhaps I should download a new version of he application, create a new library and move old messages to it, or both?

Does unresponsive mean that it was sluggish or that you saw the beachball? What did EagleFiler’s Activity window say? How long did you wait before force-quitting? If it happens again, please use the Activity Monitor application to create a ‘“sample” report and e-mail it to me.

It might help to create a new library.

When I looked in Force Quit, EagleFiler was in red, shown as “not responsive.” I don’t actually remember, but I assume that there was a beachball as well. I didn’t look at the Activity Window. I waited minutes before Force-Quitting (e.g., 5, not 50 or 0.5 minutes). I will send you the information next time this happens.

Ok, That’s doable.

Paul sent some information via e-mail. Exporting was slow and modal, but it was proceeding normally (i.e. as expected). It was much faster to skip the export step and capture the files directly from the Finder.

AppleScript; “OmitFromArchive” category in Entourage

I’ve written an AppleScript that automatically writes out every Entourage folder that contains mail as a .mbx file, imports it into EagleFiler, and deletes it. Works great (attached, along with a “Delete by Age” script for Entourage).

My problem is that I’m trying to use the “OmitFromArchive” category in Entourage to prevent duplicate archiving. When the script runs, it assigns that category to every message that is backed up so that it won’t be copied again in the next backup. However, EagleFiler does not seem to honor the omit category, and backs up everything anyhow.

Is there some trick to make this work? Or is it broken?

OmitFromArchive only works when you import from Entourage by pressing EagleFiler’s capture key. The mbox format does not support metadata such as read/replied state or categories, so this information is lost when your script exports the folders to mbox files. You could probably make this work by having your script temporarily move the messages with category OmitFromArchive out of the folder before asking Entourage to save it in mbox format.

Another approach would be to copy what EagleFiler’s built-in Entourage capture script does, and export the desired messages with full metadata into EagleFiler’s mail interchange format.

How inconvenient! So, the OmitFromArchive is useless in automation and only works with the manual command. I can see why, though, if the mbox format doesn’t support metadata. To be fair, Entourage itself has a problem in regard to categories: I can’t use an AppleScript “whose” clause to gather all the messages from a given category; I have to loop through every message in a folder and examine each category as an AppleScript list. Much slower! So this sugggestion, moving messages to be omitted out of the folder temporarily, would be quite inefficient.

And how do I do that? How do I find a description of the mail interchange format?

Alternatively, I could have the script open each folder in Entourage as it runs, and then (somehow) have the script initiate the “Capture key” action. I can’t a way, yet, to emulate the F1 keystroke, although I’ve tried with System Events “keystroke” command. Is there any way to send the “capture” event to EagleFiler? I don’t see that in the scripting dictionary.

That’s not currently possible, except perhaps by GUI scripting the Dock menu.

Actually, I did it. Kind of a kludge, because Entourage has to be frontmost to have it work. I used System Events’ “key code” command, “key code 122”, which is the F1 key. My script tells Entourage to open a folder in the main browser, keys F1, and then delays 5 seconds to give EagleFiler a little time to do its thing. So the screen is flashing as folders change in the Entourage browser window, and the F1 key makes a “click” every time. But it is functional, and I think I can use this to replace the complex AppleScript I’ve been using for years that backed up to FileMaker…originally to v3, most recently to v7…and now a bit long in the tooth. It stopped working properly for me a while back, which started me looking into EagleFiler.

Michael, I’m still interested in your “mail exchange format”. Where can I find a spec?

Updated script using System Events and Growl
Script attached.

The Delete script is single-folder only. Needs work to loop thru all folders (optionally), allow setting of preferences for # of days, treatment of unread and flagged messages. Will do later.

This seems potentially risky since the script can’t tell when EagleFiler is actually done importing the data.

There’s no written spec, but it should be easy to figure out by reading the code in:

EagleFiler.app/Contents/Resources/Capture Scripts/com.microsoft.Entourage.scpt

Let me know if you have questions.

Yeah; that concerns me. For the most part, it seems to work; have not detected any lost data–yet. But I keep my mail database trimmed. What happens, though, if I click F1 on a second folder before the first finishes? Is that a problem when done manually? And if not, would it be a problem for the script? I’ve noticed that my script reports completion, and Growl messages continue to show up from EF. It seems to queue up the Capture requests.

There’s no written spec, but it should be easy to figure out by reading the code in:

EagleFiler.app/Contents/Resources/Capture Scripts/com.microsoft.Entourage.scpt

Let me know if you have questions.

I’ll check it out.

There are two phases to capturing from Entourage. First, the script talks to Entourage and writes the data to disk (this is what you see with Growl). Second, EagleFiler imports the files from disk (this is what you see in the Activity window). The first part can only happen once at a time. If you press the key while EagleFiler is busy running the script, the next keypress will probably be queued and take effect when the script is done.

Basically, EagleFiler asks Entourage for the list of selected messages and loops over them extracting their data. It’s really up to Entourage and AppleScript what will happen if you move or delete a message while EagleFiler is holding a specifier for it. Probably, Entourage would report an error if EagleFiler hands it a specifier that’s no longer valid, which would cause EagleFiler to abort and display the error, but it might not be easy to detect that via GUI scripting. But there’s no guarantee what sort of specifier Entourage will return. If it’s something like “message 7 of folder 3” instead of “message id 297832” it could potentially specify a different message if you make changes while the script is running.