Module: Groat::SMTPD::Extensions::BinaryMIME

Defined in:
lib/groat/smtpd/extensions/binarymime.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object

Raises:



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/groat/smtpd/extensions/binarymime.rb', line 25

def self.included mod
  puts "Included RFC 3030: BINARYMIME"
  raise SMTPExtensionError.new("BINARYMIME requires CHUNKING") unless mod.ehlo_keyword_known? :chunking
  mod.ehlo_keyword :binarymime
  mod.mail_param :body, :mail_param_body
  mod.inheritable_attr(:body_encodings)
  mod.body_encodings = [] if mod.body_encodings.nil?
  mod.body_encodings << "BINARYMIME" unless mod.body_encodings.include? "BINARYMIME"
  mod.body_encodings << "7BIT" unless mod.body_encodings.include? "7BIT"
  super
end

Instance Method Details

#mail_param_body(param) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/groat/smtpd/extensions/binarymime.rb', line 37

def mail_param_body(param)
  param.upcase!
  unless self.class.body_encodings.include? param
    response_bad_parameter(:message => "Unown mail body type")
  end
  @mail_body = param
  puts "MAIL BODY=#{@mail_body}"
end