ActionMailer用空体发送电子邮件

时间:2012-08-24 15:53:09

标签: ruby-on-rails-3 email actionmailer

看来,在我将rails升级到3.2.8的时候,当我创建和发送电子邮件时,正在设置正文。邮件的代码在这段时间内没有变化,但ActionMailer也升级到3.2.8。

我在beta_request_mailer.rbapp/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中创建的邮件对象没有正文。如果我手动设置一个身体,那就会被发送出来。

我不知道发生了什么变化?

3 个答案:

答案 0 :(得分:2)

我也收到的电子邮件已经确定并且使用正确的主题,但邮件中没有内容,发现使用了.deliver!而不只是.deliver方法治愈了问题(虽然不知道为什么)

答案 1 :(得分:1)

通过从文件名中删除_email来修复

答案 2 :(得分:1)

我的解决方案非常有趣。

  1. 首先,我的Rails 4应用程序抛出一个没有邮件布局文件的错误。

  2. 我已经创建了空白布局文件mailer.html.slim。这导致邮件已发送但没有内容。

  3. 解决方法是在==yield

  4. 中添加mailer.html.slim

    像魅力一样工作。希望这是你的问题,这对你有帮助。