diff options
Diffstat (limited to 'lib/tnef.rb')
-rw-r--r-- | lib/tnef.rb | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/lib/tnef.rb b/lib/tnef.rb deleted file mode 100644 index 1c941f8b0..000000000 --- a/lib/tnef.rb +++ /dev/null @@ -1,40 +0,0 @@ -require 'tmpdir' - -class TNEF - - # Extracts all attachments from the given TNEF file as a TMail::Mail object - # The TNEF file also contains the message body, but in general this is the - # same as the message body in the message proper. - def self.as_tmail(content) - main = TMail::Mail.new - main.set_content_type 'multipart', 'mixed', { 'boundary' => TMail.new_boundary } - Dir.mktmpdir do |dir| - IO.popen("#{`which tnef`.chomp} -K -C #{dir}", "w") do |f| - f.write(content) - f.close - if $?.signaled? - raise IOError, "tnef exited with signal #{$?.termsig}" - end - if $?.exited? && $?.exitstatus != 0 - raise IOError, "tnef exited with status #{$?.exitstatus}" - end - end - found = 0 - Dir.new(dir).sort.each do |file| # sort for deterministic behaviour - if file != "." && file != ".." - file_content = File.open("#{dir}/#{file}", "r").read - attachment = TMail::Mail.new - attachment['content-location'] = file - attachment.body = file_content - main.parts << attachment - found += 1 - end - end - if found == 0 - raise IOError, "tnef produced no attachments" - end - end - main - end - -end |