0

我正在尝试使用 gmail gem 遍历电子邮件正文中的数组(据我所知,它使用邮件 gem 发送邮件)。

如何使用邮件 gem 遍历电子邮件正文中的数组?看起来很简单,但我做不到。

下面的方法不起作用,但显示了我想做的事情。

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

我见过的工作示例通常格式如下:

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

但是,我认为这两种方法都不会很好地工作。

4

1 回答 1

2

你不只是想建立一个字符串吗?像这样的东西应该工作:

  body_content = ""
  investments.each do |i|
    body_content += "#{i['target']} #{i['deal_type']} #{i['round']} #{i['deal_date']}\n"
  end
  gmail.deliver do
    to email.from_addrs
    subject "My Subject!"
    body body_content
  end

如果你想变得更复杂,我会研究类似ERB的东西。

于 2013-01-21T22:19:13.907 回答