NOTE: This is mac only.
- Go to Finder.
- Press CMD+SHIFT+G.
- Type
~/Library/Application Scripts/com.apple.mail
. - Open
saveByRule.scpt
and changetheFolder
to where you'd like emails to be saved. - Copy and Paste
saveByRule.scpt
into~/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-parser
andbrew install Caskroom/cask/wkhtmltopdf
. - Open
toPDF.sh
and 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 script
action. - 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 :)