看来,在我将rails升级到3.2.8的时候,当我创建和发送电子邮件时,正在设置正文。邮件的代码在这段时间内没有变化,但ActionMailer也升级到3.2.8。
我在beta_request_mailer.rb
中app/mailers
使用以下方法:
def beta_request(request)
mail(
:to => "#{request[:name]} <#{request[:email]}>",
:subject => 'Thanks for requesting an invite to xxxxx!'
)
end
我还有一个正常的正文文件:app/views/beta_request_mailer/beta_request_email.html.erb
电子邮件发送正常,没有任何正文。在控制台中运行时,在运行mail.body
时,在beta_request中创建的邮件对象没有正文。如果我手动设置一个身体,那就会被发送出来。
我不知道发生了什么变化?
答案 0 :(得分:2)
我也收到的电子邮件已经确定并且使用正确的主题,但邮件中没有内容,发现使用了.deliver!而不只是.deliver方法治愈了问题(虽然不知道为什么)
答案 1 :(得分:1)
通过从文件名中删除_email来修复
答案 2 :(得分:1)
我的解决方案非常有趣。
首先,我的Rails 4应用程序抛出一个没有邮件布局文件的错误。
我已经创建了空白布局文件mailer.html.slim
。这导致邮件已发送但没有内容。
解决方法是在==yield
mailer.html.slim
醇>
像魅力一样工作。希望这是你的问题,这对你有帮助。