Get attachments from .msg files using Ruby
A colleague had a lot of .msg
and .msg.pst
email files where they needed to extract the attachments from them, Ruby to the rescue!
I used the msg gem from https://github.com/aquasync/ruby-msg
I put all the files in a directory called emails/
and when the script is done running it will output the attachments to a directory named attachments/
.
require 'bundler/inline'
gemfile do
source 'https://rubygems.org'
We're using a git reference here because https://github.com/aquasync/ruby-msg/issues/14 is
only fixed in master
gem 'ruby-msg', github: 'aquasync/ruby-msg', ref: '34fb32e43e29b3d5fa535537faf7123a176146a8'
end
require 'mapi/msg'
require 'fileutils'
directory_path = 'attachments'
FileUtils.rm_rf(directory_path) if Dir.exist?('attachments')
FileUtils.mkdir_p(directory_path)
Dir.glob(File.join('emails', '*.{msg,msg.pst}')).each_with_index do |msg_file, mindex|
puts
...