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



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/sup/util.rb', line 97

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



85
86
87
88
89
# File 'lib/sup/util.rb', line 85

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



91
92
93
94
95
# File 'lib/sup/util.rb', line 91

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