NOTE: This is mac only.
- Go to Finder.
- Press CMD+SHIFT+G.
- Type
~/Library/Application Scripts/com.apple.mail. - Open
saveByRule.scptand changetheFolderto where you'd like emails to be saved. - Copy and Paste
saveByRule.scptinto~/Library/Application Scripts/com.apple.mail. - Go to Mail>Preferences>Rules>Add Rule.
- Enter some filter for your rule and choose Run Applescript as action to perform. Use saveByRule as option.
- Click Ok.
For converting to PDF and HTML.
- In the terminal, run
sudo pip install mail-parserandbrew install Caskroom/cask/wkhtmltopdf. - Open
toPDF.shand alter location to match the directory your saved emails are located. (Keep *.eml) - In the terminal, run
bash toPDF.sh.
For Automating conversion to HTML/PDF.
- Create new>Folder Action in Automator.
- Set folder to watch to folder where emails are saved.
- Add
run shell scriptaction. - Copy and paste contents of toPDF.sh into textarea of run shell script.
- Save.
NOTE: saveByRule.scpt is almost entirely copied from StackOverflow.
Hey @lcn2 these are all awesome suggestions and you're totally right about the security implications of this approach. Since writing this, I've actually shifted to a yearly export as an .mbox that I backup instead. In practice searching through my emails more than a year ago has been a rare occurrence.
That being said! If I were to come back to this, I'd probably try and do my best to keep the eml contents in memory and then pass it into a language like Python as soon as possible so that these kind of protections, looping, deduplicating would be much easier :)