Class: IncomingEmail

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/incoming_email.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.created_via_typesObject



32
33
34
# File 'app/models/incoming_email.rb', line 32

def self.created_via_types
  @types ||= Enum.new(unknown: 0, handle_mail: 1, pop3_poll: 2, imap: 3, group_smtp: 4)
end

Instance Method Details

#as_mail_messageObject



36
37
38
# File 'app/models/incoming_email.rb', line 36

def as_mail_message
  @mail_message ||= Mail.new(self.raw)
end

#cc_addresses=(cc) ⇒ Object



61
62
63
64
# File 'app/models/incoming_email.rb', line 61

def cc_addresses=(cc)
  cc = cc.map(&:downcase).join(";") if cc&.is_a?(Array)
  super(cc)
end

#cc_addresses_splitObject



52
53
54
# File 'app/models/incoming_email.rb', line 52

def cc_addresses_split
  self.cc_addresses&.split(";") || []
end

#from_address=(from) ⇒ Object



66
67
68
69
# File 'app/models/incoming_email.rb', line 66

def from_address=(from)
  from = from.first if from&.is_a?(Array)
  super(from)
end

#raw_bodyObject



44
45
46
# File 'app/models/incoming_email.rb', line 44

def raw_body
  as_mail_message.body
end

#raw_headersObject



40
41
42
# File 'app/models/incoming_email.rb', line 40

def raw_headers
  as_mail_message.header.raw_source
end

#to_addresses=(to) ⇒ Object



56
57
58
59
# File 'app/models/incoming_email.rb', line 56

def to_addresses=(to)
  to = to.map(&:downcase).join(";") if to&.is_a?(Array)
  super(to)
end

#to_addresses_splitObject



48
49
50
# File 'app/models/incoming_email.rb', line 48

def to_addresses_split
  self.to_addresses&.split(";") || []
end