Class: CommandLineEmail::DeliverEmail

Inherits:
Object
  • Object
show all
Defined in:
lib/command_line_email/deliver_email.rb

Class Method Summary collapse

Class Method Details

.deliver(user_config = {}, mail_attrs = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/command_line_email/deliver_email.rb', line 5

def self.deliver(user_config={}, mail_attrs={})
  body_text = mail_attrs[:body] ? grab_text_from_filename_if_file_exists(mail_attrs[:body]) : ''

  mail = Mail.new do
    from    mail_attrs[:from]    || user_config.defaults[:from]
    to      mail_attrs[:to]      || user_config.defaults[:to]
    cc      mail_attrs[:cc]      || (user_config.defaults && user_config.defaults[:cc])  || nil
    subject mail_attrs[:subject] || (user.config.defaults && user_config.defaults[:subject]) || ''
    body    body_text
    if mail_attrs[:files]
      attach_selected(mail_attrs[:files], mail_attrs[:directory] || '')
    elsif mail_attrs[:directory]
      attach_all_from_directory(mail_attrs[:directory])
    end
  end

  mail.deliver!

end