I’m trying to loop through an array in the body of an email using the gmail gem (which, as I understand it, uses the mail gem for sending mail).
How do I loop through an array in the body of an email using the mail gem? Seems so simple, and yet, I can’t get it going.
The method below doesn’t work, but shows what I’d like to do.
def deliver_mail(gmail, email, result, request_type)
client = Mysql2::Client.new(:host => "localhost", :username => "root", :database => 'bigmake_development')
investments = client.query("SELECT * FROM investments WHERE investor_id = '#{result[:id]}'")
gmail.deliver do
to email.from_addrs
subject "My Subject!"
body do
investments.each do |i|
i['target']
i['deal_type']
i['round']
i['deal_date']
end
end
end
puts "Email reply sent to #{email.from_addrs}"
end
Working examples that I’ve seen are usually formatted like this:
def deliver_mail(gmail, email, result, request_type)
gmail.deliver do
to email.from_addrs
subject "My Subject!"
body "Hello!"
# or like this
body File.load('body.txt')
end
end
However, I don’t think either of those methods will work very well.
Aren’t you just trying to build a string? Something like this should work:
If you wanted to get more complex, I would look into something like ERB.