5

似乎在我将 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

电子邮件发送良好,只是没有任何正文。在控制台中运行,在 beta_request 中创建的邮件对象在运行时没有正文mail.body。如果我手动设置正文,则会发送出去。

发生了哪些我不知道的变化?

4

3 回答 3

2

我也收到了邮件,邮件内容正确,主题正确,但邮件中没有内容,发现使用 .deliver!而不仅仅是 .deliver 方法解决了问题(虽然不知道为什么)

于 2012-11-15T17:25:29.607 回答
1

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

于 2012-08-28T22:13:52.080 回答
1

我的解决方案非常有趣。

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

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

  3. 解决方案是在==yield里面添加mailer.html.slim

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

于 2015-06-21T19:53:45.020 回答