Class: RMail::Message

Inherits:
Object show all
Defined in:
lib/sup/util.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.make_attachment(payload, mime_type, encoding, filename) ⇒ Object



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/sup/util.rb', line 88

def self.make_attachment payload, mime_type, encoding, filename
  a = Message.new
  a.header.add "Content-Disposition", "attachment; filename=#{filename.inspect}"
  a.header.add "Content-Type", "#{mime_type}; name=#{filename.inspect}"
  a.header.add "Content-Transfer-Encoding", encoding if encoding
  a.body =
    case encoding
    when "base64"
      [payload].pack "m"
    when "quoted-printable"
      [payload].pack "M"
    when "7bit", "8bit", nil
      payload
    else
      raise EncodingUnsupportedError, encoding.inspect
    end
  a
end

.make_file_attachment(fn) ⇒ Object



76
77
78
79
80
# File 'lib/sup/util.rb', line 76

def self.make_file_attachment fn
  bfn = File.basename fn
  t = MIME::Types.type_for(bfn).first || MIME::Types.type_for("exe").first
  make_attachment IO.read(fn), t.content_type, t.encoding, bfn.to_s
end

Instance Method Details

#charsetObject



82
83
84
85
86
# File 'lib/sup/util.rb', line 82

def charset
  if header.field?("content-type") && header.fetch("content-type") =~ /charset\s*=\s*"?(.*?)"?(;|$)/i
    $1
  end
end