我正在使用Sinatra和这个宝石,我能够发送电子邮件确定。但是,当我发送一个ERB文件时,它以纯文本形式出现,并且它不会呈现ruby代码。例如:
mail = Mail.deliver do
to user_email
from 'support@iconosites.com'
subject 'Your Upgrade is being processed'
body File.read('views/email.erb')
end
有没有办法让它呈现Ruby代码?
谢谢!
答案 0 :(得分:2)
我没有对此进行过测试,但看起来您正在尝试将erb模板渲染为电子邮件正文。
我认为你需要做更多的事情:
require 'erb'
template = ERB.new(File.read('views/email.erb'))
mail = Mail.deliver do
to user_email
from 'support@iconosites.com'
subject 'Your Upgrade is being processed'
body template.result
end
这里还有关于erb模板的ruby-docs页面上的几个电子邮件示例:http://ruby-doc.org/stdlib-1.9.3/libdoc/erb/rdoc/ERB.html