1

我有一个 Rails 2.3.8 应用程序,其中有一个通知程序,app/models/hello_notifier.rb如下所示:

class HelloNotifier < ActionMailer::Base
    def hello_world
        @recipients = 'to@email.address'
        @from = 'from@email@address'
        @subject = 'Hello world'
    end
end

其中的视图app/views/hello_notifier/hello_world.erb如下所示:

Hello
World

不是在我运行时HelloNotifier.deliver_hello_world,它会发送电子邮件,而是将其作为具有纯文本和 html 变体的多部分电子邮件发送。

我已经尝试添加@content_type = 'text/plain'到我的通知器模型以及content_type 'text/plain'. 我还尝试添加ActionMailer::Base.default_content_type = 'text/plain'到我的 actionmailer 初始化程序。我也尝试将我的视图重命名为hello_world.text.plain.erb. 我尝试的任何方法似乎都无济于事。它总是将我的电子邮件作为多部分 html/文本电子邮件发送。

关于如何强制它作为“文本/纯文本”发送的任何想法?

4

3 回答 3

0

尝试将您的视图重命名为hello_world.text.erb

于 2011-10-05T03:05:18.517 回答
0

在 Rails 2 中,您可以通过为电子邮件模板指定以下文件扩展名之一来隐式指定电子邮件模板的内容类型:

  • .text.plain.erb 用于纯文本电子邮件
  • .text.html.erb 用于 HTML 电子邮件

例如,“your_email_template.text.plain.erb”用于纯文本,“your_email_template.text.html.erb”用于 HTML。

另见: http: //guides.rubyonrails.org/v2.3.8/action_mailer_basics.html

于 2013-03-03T23:17:06.870 回答
0

Rails 2.3.8 搜索带有 .erb 扩展名的模板,默认内容类型为 text/plain。
尝试将您的文件名重命名为 hello_world.erb

于 2011-10-05T06:39:52.240 回答