C-Command Software Forum

Migrating Two Sets of "Local" E-Mail Trees from Apple Mail to PostBox - Best Practice and Deleting Dupes?

Hi All,

I have pretty much finalized a decision to move from Apple Mail to PostBox, as a result of the Catalina data loss issues long discussed on the blog.

My current situation is that I have two local (On My Mac), multi-level, folder trees.

One that is “active” now in the Apple Mail app, within which there was a loss of ~30 Gb of mail and attachments during the Catalina upgrade. There is a mix of pre-Catalina mail content, and up to date mail content there. Not all pre-Catalina mail content was lost during the upgrade, but a lot of it was.

The other is a complete backup of the Apple Mail folder tree from October of 2019, just prior to the Catalina upgrade. So, everything that I had pre-Catalina is contained there. That backup is in a tar archive. Amazing to think that we have been dealing with this for well over a year…

Thus, my question about best practice for moving both sets of folder trees to PostBox, while taking advantage of the duplicate mail filtering in EF. Ideally, I would like to have the intersection of the two sets of folder trees moved into PostBox, and delete the duplicates that will inevitably result, where some of the pre-Catalina content is in both trees.

I noted that there is a delete duplicate script available, as well as a merge folder function available in EF.

Would the logical steps be along the lines of:

  1. Import the “live” local folder tree from Apple Mail into EF

  2. Import the archive local folder tree into a separate target folder tree in EF

  3. Merge the parallel folders from each tree in EF

  4. Run the delete duplicates script on the merged folders

  5. Import the result into a PostBox local folder tree

Does that make sense or am I missing an easier pathway?

Also, will the merge functionality handle a folder and its sub-folders in one step, or only a single folder at a time?

Lastly, given the substantial space requirements of all of this, I presume that I can use an external HD for the EF Library? I am considering getting a large external SSD to handle all of this for space and speed.


Yes, that’s how I would do it. It may be that someone has written a script that does this exact sort of tree-wise dedupe of mailbox files, but I haven’t see one.

You can merge multiple selected mailboxes, but that will combine them into a single mailbox. Assuming that you want to maintain your tree structure, you would probably want to do this in two steps:

  1. Merge the trees by moving the mailboxes, e.g. so that each active mailbox is next to its corresponding backup mailbox.

  2. Select each pair of active/backup mailboxes and choose Merge Mailboxes Files. You can do multiple merges at a time, meaning that you tell EagleFiler to merge A and B and then tell it to merge C and D, and it will do both independent operations simultaneously.

That would give you a single tree with each mailbox containing many duplicates. You could then use the script to remove the duplicates.

Yes, when you create the library you can choose where it will be stored.

Hi Michael,

Thanks for your expedient reply.

I do want to maintain the tree structure, so your thoughts about moving each pair of mailboxes next to each other makes sense.

Thanks for the confirmations/clarifications!