class Mail::Message

Public Instance Methods

bcc_addresses() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 21
def bcc_addresses
  Array(address_list(header[:bcc])&.addresses)
end
cc_addresses() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 17
def cc_addresses
  Array(address_list(header[:cc])&.addresses)
end
from_address() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 5
def from_address
  address_list(header[:from])&.addresses&.first
end
recipients() click to toggle source
# File lib/action_mailbox/mail_ext/recipients.rb, line 5
def recipients
  Array(to) + Array(cc) + Array(bcc) + Array(header[:x_original_to]).map(&:to_s)
end
recipients_addresses() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 9
def recipients_addresses
  to_addresses + cc_addresses + bcc_addresses + x_original_to_addresses
end
to_addresses() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 13
def to_addresses
  Array(address_list(header[:to])&.addresses)
end
x_original_to_addresses() click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 25
def x_original_to_addresses
  Array(header[:x_original_to]).collect { |header| Mail::Address.new header.to_s }
end

Private Instance Methods

address_list(obj) click to toggle source
# File lib/action_mailbox/mail_ext/addresses.rb, line 30
def address_list(obj)
  if obj&.respond_to?(:element)
    # Mail 2.8+
    obj.element
  else
    # Mail <= 2.7.x
    obj&.address_list
  end
end