class Mailmerge::Merger
Public Instance Methods
merge()
click to toggle source
# File lib/mailmerge.rb, line 27 def merge if ARGV[0] == "-h" puts "usage: mailmerge [csv] [erb] [from_addr] [password]" exit end smtp = Net::SMTP.new 'smtp.gmail.com', 587 smtp.enable_starttls arr_of_rows = CSV.read(ARGV[0]) email_template = ARGV[1] headers = arr_of_rows[0] rows = arr_of_rows[1..] template_contents = File.read(ARGV[1]) user_email = ARGV[2] user_password = ARGV[3] renderer = ERB.new(template_contents) rows.each do |row| td = TemplateData.new(headers, row, template_contents) rendered_email = td.result puts rendered_email smtp.start('gmail.com', user_email, user_password, :plain) do |smtp| smtp.send_message rendered_email, user_email, td.instance_variable_get("@to_email") end puts "-------------------------" end end