如何将变量传递到Mail正文模板?

时间:2013-04-10 13:08:00

标签: ruby email sinatra mailer

我正在尝试在Sinatra中编写简单的邮件程序,它会发送带有params变量的电子邮件。

require 'sinatra'
require 'mail'

class App < Sinatra::Base
  post '/test_mailer' do
    company = params['Field6']
    email = params['Field5']

    puts "Company name: #{company}"
    puts "Email: #{email}"

    mail = Mail.new do
      from     'me@mydomain.com'
      to       'me@mydomain.com'
      subject  'Here is the image you wanted'
      text_part do
        body "Company Name \n === \n #{company} \n \n Email \n === \n #{email}"
      end
    end

    mail.deliver!
  end
end

如何使用公司和电子邮件变量将电子邮件模板移至test_mailer.txt?

1 个答案:

答案 0 :(得分:1)

我不确定我理解你 - 你想要一个单独的电子邮件模板文件,对吧?我认为您可以使用erb或haml模板,然后执行以下操作:

text_part do
  body erb(:test_mailer)
end

然后,您的test_mailer.erb文件将包含您的电子邮件模板。

Here显示了使用pony完成类似的操作。