Module: Mail::Jdec::MessagePatch

Defined in:
lib/mail/jdec/message_patch.rb

Instance Method Summary collapse

Instance Method Details

#decodedObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/mail/jdec/message_patch.rb', line 4

def decoded
  decoded = super

  if Jdec.enabled? && (!has_content_type? || (text? && !has_charset? && !attachment? && !multipart?))
    detected = Detector.detect(decoded)
    if detected && detected[:type] == :text
      charset = detected[:encoding].downcase
      decoded = Mail::Encodings.transcode_charset(decoded.dup.force_encoding(charset), charset, 'utf-8')
      header[:content_type] = 'text/plain'
      header[:content_type].parameters[:charset] = charset
    else
      decoded = Mail::Encodings.transcode_charset(decoded, decoded.encoding, 'utf-8')
    end
  end

  decoded
end