This has been discussed here a number of times previously, including by me, and this is not the first time I’ve brought this up. Still, I am still struggling with this question and so I am soliciting thoughts and advice once again. I’m not sure why I am having such a hard time figuring this out…
I want to be able to essentially archive my emails, in the sense of having pretty much anything that I might need to find again someday available. This is not necessarily the same thing has having an email related to a specific task or project that I choose to store in a file in a folder of other documents related to this project, but rather a simple/quick/low effort way to archive everything before I delete it.
I don’t want to simply rely on the archive function in Apple Mail or something similar, because my goal is to create this email store outside of any current email provider I am using. The reason is that as things change and evolve, some email providers also change and I may no longer be using a particular email system a year from now. I also have multiple email addresses and providers including gmail, my own email server (hosted by an outside ISP), several accounts in outlook.com related to different businesses, etc, and I want the email to all be stored in one archive.
My top three contenders right now:
- Use a workflow of printing emails to PDF and saving attachments in separate files. I wrote a KM workflow that does this using Mail’s Save of PDF menu item, and also exports the entire raw email message and then parses out attachments to save in separate files (I don’t do this part in AppleScript because there are bugs in AppleScript’s ability to save mail attachments that Apple has not fixed in multiple OS versions). The files are named with a standard filename format that includes a SHA255 hash of the message to ensure uniqueness, and tagged as ‘email’, ‘has attachments’, ‘mail attachment’, etc, and Hazel can sort the emails based on which account they came from.
Advantages include local files that can be backed up, sync’d, etc, easy searching with Spotlight or HoudahSpot, easy viewing as PDFs or other documents. However, the fact that a dialog pops up for each save makes it harder and glitch-prone to save multiple messages, and so right now the KM macro works on only one selected email at a time, and of course UI scripting (even with KM’s ability to select menu items) is always glitch prone. There is no way to script having Mail write an email to a PDF.
Archive to DevonThink: I keep going back and forth on whether I want to use DevonThink or not. I can import multiple emails at once and DT does a reasonable job of it, and displays and searches them reliable - and can index them in Spotlight as well so HoudahSpot will work if DT’s own search does not. On the other hand, DT is a very heavy-weight app that may be overkill, and I keep going back and forth on just keeping things in a plain file system vs an app. In addition, I have written rules in DT to have imported emails automatically sorted to the correct database (work related, personal, etc) but have found DT’s rule execution unreliable, although I have not been able to troubleshoot why.
Synology mail server: I created a mail server setup on my Synology, which allows me to just drag messages in AppleMail to this account and they get stored there. This is very quick and easy, but: sorting emails into individual folders once they get there is not very good; I created Mail rules but they don’t work unless specifically executed, which is problematic, searching is now only available in Mail.app, and I need to backup the Synology data since it is not subject to the standard BackBlaze and cloning on my Macs.
I looked at EagleFiler, but it’s interface just didn’t work out well for me, plus if you want to actually work with any of the emails you pretty much need to reimport them into Mail.
I would be very interested to hear what other people have done or could suggest.